Redis主从读写分离配置

Posted 局部地区血淌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis主从读写分离配置相关的知识,希望对你有一定的参考价值。

 

环境描述:
主redis:192.168.10.1 6379
从redis:192.168.10.2 6380

一、主从配置

1、将主从redis配置文件redis.conf中的aemonize no 改为 yes

2、修改从redis配置文件redis.conf中的port 6379 改为 6380,添加slaveof 192.168.10.1 6379 

3、启动主从服务

      主redis:      

      [[email protected] redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf

     从redis:

     [[email protected] redis-2.8.3]# src/redis-server /soft/redis-2.8.3-slave/redis-2.8.3/redis.conf

4、测试数据同步

      主redis:

      [[email protected] redis-2.8.3]# src/redis-cli -p 6379
     127.0.0.1:6379> set name abc
     OK
     127.0.0.1:6379> get name
     "abc"
     127.0.0.1:6379>

    从redis:

      [[email protected] redis-2.8.3]# src/redis-cli -p 6380
     127.0.0.1:6380> get name
     "abc"
     127.0.0.1:6380>

5、默认是读写分离的

     在从redis:

     [[email protected] redis-2.8.3]# src/redis-cli -p 6380
     127.0.0.1:6380> set name 123
     (error) READONLY You can‘t write against a read only slave.

      

 二、主从切换

     1、停止主redis

     [[email protected] redis-2.8.3]# src/redis-cli -n 6379 shutdown
     [[email protected] redis-2.8.3]# src/redis-cli -p 6379
     Could not connect to Redis at 127.0.0.1:6379: Connection refused
     not connected>

     2、将从redis设成主redis
     [[email protected] redis-2.8.3]# src/redis-cli -p 6380 slaveof NO ONE
     OK

    3、测试从redis是否切换从主redis

     [[email protected] redis-2.8.3]# src/redis-cli -p 6380
     127.0.0.1:6380> set name 123
     OK
     127.0.0.1:6380> get name
     "123"
     127.0.0.1:6380>

     4、原来的主redis恢复正常了,要重新切换回去

         1)将现在的主redis的数据进行保存

     [[email protected] redis-2.8.3]# src/redis-cli -p 6380
     127.0.0.1:6380> get name
     "abc"
     127.0.0.1:6380> set name 123
     OK
     127.0.0.1:6380> get name
     "123"
     127.0.0.1:6380> save
     OK
     127.0.0.1:6380> get name
     "123"
     127.0.0.1:6380>  

       2)将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录

       3)启动原来的主redis

      [[email protected] redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf
       4)在现在的主redis中切换

      [[email protected] redis-2.8.3]# src/redis-cli -p 6380 slaveof 192.168.10.1 6379
      OK

 




































以上是关于Redis主从读写分离配置的主要内容,如果未能解决你的问题,请参考以下文章

Redis主从读写分离配置

Redis主从复制(读写分离)

redis读写分离,主从复制

Redis早期的主从架构原理分析,早期如何实现读写分离的?

Redis配置主从架构,实现读写分离

Redis-集群主从复制,读写分离;哨兵模式;消息订阅发布