xuanhao 发表于 2018-11-6 11:59:35

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:
  # src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf
  从redis:
  # src/redis-server /soft/redis-2.8.3-slave/redis-2.8.3/redis.conf
  4、测试数据同步
  主redis:
  # 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:
  # src/redis-cli -p 6380
  127.0.0.1:6380> get name
  "abc"
  127.0.0.1:6380>
  5、默认是读写分离的
  在从redis:
  # 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
  # src/redis-cli -n 6379 shutdown
  # src/redis-cli -p 6379
  Could not connect to Redis at 127.0.0.1:6379: Connection refused
  not connected>
  2、将从redis设成主redis
  # src/redis-cli -p 6380 slaveof NO ONE
  OK
  3、测试从redis是否切换从主redis
  # 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的数据进行保存
  # 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
  # src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf
  4)在现在的主redis中切换
  # src/redis-cli -p 6380 slaveof 192.168.10.1 6379
  OK

页: [1]
查看完整版本: redis主从配置及主从切换 .