Redis安装

Redis 安装

Window 下安装

  • 下载地址:https://github.com/MSOpenTech/redis/releases

    1. Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis

    2. 打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf

       redis-server.exe redis.windows.conf
    1. redis作为windows服务启动方式
       redis-server --service-install redis.windows.conf
    1. dos命令
       启动服务:redis-server --service-start
    
       停止服务:redis-server --service-stop
    1. 如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。

    2. 这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

    3. 切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379

       redis-cli.exe -h 127.0.0.1 -p 6379
    1. 设置键值对 set myKey abc

      > set myKey abc
    2. 取出键值对 get myKey

      > get myKey

Linux 下安装

  • 下载地址:http://redis.io/download,下载最新文档版本。

    1. 本教程使用的最新文档版本为 2.8.17,下载并安装:
    > wget wget http://download.redis.io/releases/redis-3.2.8.tar.gz
    > tar xzf redis-3.2.8.tar.gz
    > cd redis-3.2.8
    > make && make install
    1. make完后 redis-3.2.8目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

    2. 启动、关闭redis服务

    > cd src
    > ./redis-server     #启动
    > ./redis-cli -p 6379 shutdown       #关闭
    1. 注意
    这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动
    > cd src
    > ./redis-server redis.conf     redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
    1. 启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互。比如:
    > cd src
    > ./redis-cli
    redis> set foo bar
    OK
    redis> get foo
    "bar"
redis作为系统服务并开机启动
  1. 将redis服务作为守护进程来运行,修改配置文件
       > vi redis.conf

       - daemonize  表示是否作为守护进程运行,默认为false,改为true
       - pidfile    当服务已手机进程方式运行时,redis默认会把pid写入这个路径文件中,服务运行中该文件会存在,服务一旦停止该文件就自动删除,可以根据这个文件来判断redis是否正在运行,可不修改,默认即可,

       修改成功之后保存退出
  1. 在 /etc/目录下创建 redis目录,把配置文件复制到该目录下
     > cd /etc
     > mkdir redis
     > cp /usr/local/src/redis2.8.17/redis.conf /etc/redis/6379.conf
  1. 管理启动、关闭、重启、查看状态的脚本

    redis源码里其实已经提供了一个初始化脚本,在安装目录下的utils里面有个redis_init_script即是。
  2. 对该脚本进行修改

  3. 添加一句 # chkconfig: 2345 90 10

  4. 分别修改EXEC(redis-server的路径)、CLIEXEC(redis-cli的路径)、CLIEXEC(守护进行方式的pid所在文件路径,要和配置文件中的pidfile一致)、CONF(刚才复制的配置文件路径)的值

    
    #!/bin/sh#
    
    
    # chkconfig: 2345 90 10 
    
    
    REDISPORT=6379
    EXEC=/usr/local/src/redis-3.2.8/src/redis-server
    CLIEXEC=/usr/local/src/redis-3.2.8/src/redis-cli
    
    CLIEXEC=/var/run/redis_${REDISPORT}.pid
    CONF="/etc/redis/${REDISPORT}.conf"
    
    case "$1" in
     start)
         if [ -f $PIDFILE ]
         then
                 echo "$PIDFILE exists, process is already running or crashed"
         else
                 echo "Starting Redis server..."
                 $EXEC $CONF
         fi
         ;;
     stop)
         if [ ! -f $PIDFILE ]
         then
                 echo "$PIDFILE does not exist, process is not running"
         else
                 PID=$(cat $PIDFILE)
                 echo "Stopping ..."
                 $CLIEXEC -p $REDISPORT shutdown
                 while [ -x /proc/${PID} ]
                 do
                     echo "Waiting for Redis to shutdown ..."
                     sleep 1
                 done
                 echo "Redis stopped"
         fi
         ;;
     *)
         echo "Please use start or stop as first argument"
         ;;
    esac
  5. 复制redis_init_script脚本到/etc/init.d/redisd

    cp /usr/local/src/redis-3.2.8/utils/redis_init_script /etc/init.d/redisd
  6. 在/etc/init.d下的脚本都是可以在系统启动是自动启动的服务,配置redis随系统启动

    chkconfig redisd on
  7. 操作命令

    > service redisd start
    > service redisd stop
    > service redisd status
    > service redisd restart
    
    centos7以上
    > systemctl start redisd
    > systemctl stop redisd
    > systemctl status redisd
    > systemctl restart redisd

Ubuntu 下安装

  1. 在 Ubuntu 系统安装 Redi 可以使用以下命令:

    $sudo apt-get update
    $sudo apt-get install redis-server
  2. 启动 Redis

    redis-server
  3. 查看 redis 是否启动?

    redis-cli
  4. 以上命令将打开以下终端:

    redis 127.0.0.1:6379>
  5. 127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

    redis 127.0.0.1:6379> ping
    PONG

Redis数据类型(简单操作)

五种数据类型:

数据类型存储的值读写能力
String可以使用字符串、整数或浮点数,统称为元素对字符串操作,对整数类型加减
List一个序列集合且每个节点都包好了一个元素序列两端推入、或弹出元素,修剪、查找或移除元素
Set各不相同的元素从集合中插入或者删除元素
Hash有Key-value的散列祖,其中key是字符串,value是元素按照key进行增加删除
Sort Set带分数的score-value有序集合,其中score为浮点,value为元素集合插入,按照分数范围查找

String类型操作:
  1. 设置值 set key value

    string1 为 key,zhaoduo为value

    > set string1 zhaoduo
  2. 取出值 get key

    > get string1
  3. 设置整数 set key value

    > set string2 2
  4. 整数自增 执行完之后string会自增1

    incr value

    > incr string2
    
    # z再取出值得时候会自增1
    
    > get string2
  5. 整数减 后面的数代表减几,自增的时候不能跟这个数

    decrby key value

    > decrby string2 3
    
    #集合第四步的操作,这时候取出值会减3 就是0
    
    > get string2

List类型操作
List类型是有序的列表,允许重复,List不要求里面的元素是唯一的

说明:可以结合栈和队列的含义理解,一直lpush(rpush),取值的时候一直lpop(rpop)是栈(后进先出)。如果一直lpush(rpush),取值的时候一直rpop(lpop)就是队列(先进先出)

  1. 从左边push进一个值 (设置一个值) lpush key value

    > lpush List1 value1
  2. 从右边push进一个值 (设置一个值) rpush key value

    > rpush List1 value2
  3. 从左边pop一个值 (取出一个值) lpop key

    > lpop List1
    
    #这里获得的值是value1
    
  4. 从右边pop一个值 (取出一个值) rpop key

    > rpop List1
    
    #这里获取的值是value2
    
  5. 获取list的长度,llen key

    > llen List1

Set类型操作
Set类型是无序的列表且不允许重复
  1. 添加一个值,sadd key value

    set1为key 12为value
    > sadd set1 12
  2. 获取set长度,scard key

    > scard set1
  3. 查看set里面是否存在某个value,sismember key value

    set1为key,13为value
    > sismember set1 13
  4. 删除一个值,srem key value

    > srem set1 13

Hash类型操作(又称:散列)
​ Hash只要求键不一样,就是不同的条数
数据结构图:

​       key->key1  ->   value(string/int/float)     

​             key2  ->  value(string/int/float)     

​             key3  ->  value(string/int/float)     

​             key4  ->   value(string/int/float)
  1. 插入 hset key key value

    如果键重复,值会被覆盖
    > hset hash1 key1 12
  2. 获取 hget key key

    > hget hash1 key1
  3. 查看长度 hlen key

    > hlen key
  4. 一次性获取多个值 hmget key key1 key2

    > hmget hash1 key1 key2
Sort set类型操作(又称:有序分数集)
1. 存储和hash一样,都是一个映射。存储的是分数与元素的映射。可以看出是排行榜。value必须是全局唯一
数据结构:score 是浮点型

​   key->score(10.1)   value(string/int/float)  rank:1     

​        score(9.1)     value(string/int/float)  rank:0    

​        score(11.2)   value(string/int/float)  rank:2
如果两个元素的score一样,按照字节顺序排列先后
  1. 增加 zadd key score value

    > zadd zset1 10.1 val1
  2. 查看个数 zcard key

    > zcard zset1
  3. 查看排名 zrange key sort widthscores

    
    # 表示按照从o到2查看zset包括scores值
    
    > zrange zset1 0 2 widthscores
  4. 查看某个value排名 zrand key value

    > zrank zset1 val2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值