# redis安装与使用

# centos7安装Redis

sudo apt-get install redis-server
  • 检查Redis服务器系统进程
~ ps -aux|grep redis
redis     4162  0.1  0.0  10676  1420 ?        Ss   23:24   0:00 /usr/bin/redis-server /etc/redis/redis.conf
conan     4172  0.0  0.0  11064   924 pts/0    S+   23:26   0:00 grep --color=auto redis
  • 通过启动命令检查Redis服务器状态
~ netstat -nlt|grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN
  • 通过启动命令检查Redis服务器状态
~ sudo /etc/init.d/redis-server status
redis-server is running
  • 通过命令行客户端访问Redis
~ redis-cli
redis 127.0.0.1:6379>
  • 命令行的帮助
redis 127.0.0.1:6379> help
redis-cli 2.2.12
Type: "help @" to get a list of commands in 
      "help " for help on 
      "help " to get a list of possible help topics
      "quit" to exit
  • 修改Redis的配置

    • 使用Redis的访问账号

      • 默认情况下,访问Redis服务器是不需要密码的,为了增加安全性我们需要设置Redis服务器的访问密码。设置访问密码为redisredis。

      • 用vi打开Redis服务器的配置文件redis.conf

      ~ sudo vi /etc/redis/redis.conf
      
    • 取消注释requirepass

    requirepass redisredis
    
    • 让Redis服务器被远程访问

      • 默认情况下,Redis服务器不允许远程访问,只允许本机访问,所以我们需要设置打开远程访问的功能。
      • 用vi打开Redis服务器的配置文件redis.conf
      ~ sudo vi /etc/redis/redis.conf
      
      • 注释bind
      #bind 127.0.0.1
      
      • 修改后,重启Redis服务器。
      ~ sudo /etc/init.d/redis-server restart
      Stopping redis-server: redis-server.
      Starting redis-server: redis-server.
      
    • 未使用密码登陆Redis服务器

    ~ redis-cli
    redis 127.0.0.1:6379> keys *
    (error) ERR operation not permitted
    
    • 发现可以登陆,但无法执行命令了。

    • 登陆Redis服务器,输入密码

    ~  redis-cli -a redisredis
    redis 127.0.0.1:6379> keys *
                 1) "key2"
                 2) "key3"
                 3) "key4"
    
    • 登陆后,一切正常。

    • 检查Redis的网络监听端口

    • 检查Redis服务器占用端口

    ~ netstat -nlt|grep 6379
    tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN
    
    • 我们看到从之间的网络监听从 127.0.0.1:3306 变成 0 0.0.0.0:3306,表示Redis已经允许远程登陆访问。

    • 我们在远程的另一台Linux访问Redis服务器

    ~ redis-cli -a redisredis -h 192.168.1.199
    redis 192.168.1.199:6379> keys *
    1) "key2"
    2) "key3"
    3) "key4"
    

参考文档

# redis实现主从配置

  • 假设有2台服务器,一台master,一台slave

    • 配置master下的redis.con文件
      • bind {masterIp}
      • requirepass {your pass}
    • 配置slave服务器下的redis.con文件
      • bind {slaveIp}
      • slaveof {masterIp} {masterPort}
      • masterauth {masterRequirepass}
  • 测试

    • 启动master服务器的redis
    sudo redis-cli -h 192.168.107.130
    auth {masterRequirepass}
    set a 1
    set b 2
    keys *
    
    • 启动slave服务器的redis
    sudo redis-cli -h 192.168.107.131
    keys *