zoukankan      html  css  js  c++  java
  • Redis入门与安装

    Redis认识

    什么是Redis?

    Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,遵守BSD协议。是一个非关系型数据库(NoSQL)。

    官方是这么介绍的:

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs和 地理空间(geospatial) 索引半径查询。

    Redis 内置了 复制(replication), LUA脚本(Lua scripting), LRU驱动事件(LRU eviction), 事务(transactions)和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel) 和自动分区(Cluster)提供高可用性(high availability)。 你可以对这些类型执行 原子操作 , 列如: 字符串(strings)的append 命令; 散列(hashes)的hincrby命令; 列表(lists)的lpush命令; 集合(sets)计算交集sinter命令, 计算并集union命令和 计算差集sdiff命令; 或者 在有序集合(sorted sets)里面获取成员的最高排名zrangebyscore命令. 为了实现其卓越的性能, Redis 采用运行在 内存中的数据集工作方式.。根据您的使用情况, 您可以每隔一定时间将 数据集导出到磁盘, 或者 追加到命令日志中. 您也可以关闭持久化功能,将Redis作为一个高效的网络的缓存数据功能使用. Redis 同样支持 主从复制(能自动重连和网络断开时自动重新同步),并且第一次同步是快速的非阻塞式的同步。

    可以看到redis是非常强大的,其他功能可以包括:

    • 事务(Transactions)
    • 订阅分发(Pub/Sub)
    • LUA脚本(Lua scripting)
    • 过期自动删除key
    • 内存回收
    • 自动故障转移

    Redis的支持

    1. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    2. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    3. Redis支持数据的备份,即master-slave模式的数据备份。

    Redis的不同

    1. Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
    2. Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

    Redis的优势

    1. 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
    2. 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
    3. 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
    4. 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    Linux下Redis的安装

    这里我将在安装远程服务器上,linux虚拟机或者其他容器安装同理

    下载安装包

    我们去官网下载redis的安装包,这里我选择的是5.0.8版本的。下载地址

    上传安装包

    将我们的安装包上传到我们的远程服务器,这里我用的是MobaXterm来控制远程服务器,安利一下。

    解压移动Redis安装包

    我们的程序一般放在opt目录下,所以我们将redis的安装包移动过去并解压

    解压后,我们就可以看到redis的软件了

    环境命令安装

    在该目录下,我们安装gcc-c++的环境,因为我们要知道redis是c语言编写的。

    yum install gcc-c++centos下指令

    安装成功界面(很快的)

    可以gcc -v查看版本信息

    然后使用make命令将我们所需要的文件配置上,这个时间有点长,耐心等待即可。成功后如下

    默认安装路径

    在上面步骤执行完毕之后,我们需要去usr/local/bin/可以看到我们的redis已经被安装上了

    复制配置文件

    接下来我们需要去我们redis的文件夹下复制我们的配置文件到我们的安装路径下,因为我们的redis启动时需要带有我们的config文件名来启动

    1. 我们先在当前目录下创建一个redis_config来存放配置文件

    2. 然后去/opt目录下redis的文件夹下复制一份配置文件到我们的redis_config文件夹下

    修改配置文件

    redis默认不是后台启动的,所以我们需要进行修改,改成后台启动。我们用vim进入我们的配置文件redis.conf,找到daemonize改成yes即可

    Redis启动测试

    我们通过配置文件启动服务端

    然后再打开客户端,并设置端口6379。进行连接测试

    关闭Redis服务

    有启动就会有关闭,我们总不能启动了就不管了吧。那么redis是如何关闭呢。我们可以shutdown指令来关闭我们的服务,然后exit就可以退出连接了。我们同时还可以用ps -ef | grep redis来查看我们的服务是否确确实实关闭了。

  • 相关阅读:
    PHP项目学习1
    常见的几种单例模式
    CGlib和JDK动态代理
    jar打包方法使用整理
    JVM内存分配原理
    JDK环境变量配置目录jre,jvm
    android学习笔记13——ExpandableListView
    android学习笔记12——ListView、ListActivity
    android学习笔记11——ScrollView
    android学习笔记十——TabHost
  • 原文地址:https://www.cnblogs.com/CryFace/p/13494456.html
Copyright © 2011-2022 走看看