redis3.0.0主从搭建配置及手动主从切换

环境描述:
主redis:10.249.2.133 6379
从redis:10.249.2.134 6380

一、主从配置
1、共同配置
vi redis.conf
daemonize yes     no改为 yes

2、从redis修改端口号
vi redis.conf
port 6380         6379修改为6380

3、启动redis服务
主redis:      
[root@wolf redis]#./src/redis-server redis.conf
从redis:
[root@wolf redis]#./src/redis-server redis.conf

4、测试数据同步
主redis:
[root@wolf redis]#./src/redis-cli -p 6379
127.0.0.1:6379> set name wolf
OK
127.0.0.1:6379> get name
"wolf"
127.0.0.1:6379>

从redis:
[root@wolf redis]#./src/redis-cli -p 6380
127.0.0.1:6380> get name
"wolf"
127.0.0.1:6380>
5、默认是读写分离的
在从redis:
[root@wolf redis]#./src/redis-cli -p 6380
127.0.0.1:6380> set name wolf
(error) READONLY You can't write against a read only slave.

二、主从切换
1、停止主redis
[root@wolf redis]# ./src/redis-cli -p 6379 shutdown 
[root@wolf redis]# ps -ef | grep redis             
root     16256 16130  0 15:51 pts/1    00:00:00 grep redis
[root@wolf redis]# ./src/redis-cli -p 6379         
Could not connect to Redis at 127.0.0.1:6379: Connection refused

2、将从redis设置为主redis
[root@wolf redis]# ./src/redis-cli -p 6380 slaveof NO ONE
OK
[root@wolf redis]# ./src/redis-cli -p 6380
127.0.0.1:6380> get name
"abc"

3、测试写入
127.0.0.1:6380> set name laolang
OK
127.0.0.1:6380> get name
"laolang"

4、主修复后,切回主
先将当前主保存
[root@wolf redis]# ./src/redis-cli -p 6380
127.0.0.1:6380> get name
"laolang"
127.0.0.1:6380> save
OK
127.0.0.1:6380> get name
"laolang"

将redis目录下的dump.rdb copy到redis原主
[root@wolf redis]# scp dump.rdb 10.249.2.133:/usr/local/redis/
root@10.249.2.133's password: 
dump.rdb                                      100%   34     0.0KB/s   00:00

启动主redis(10.249.2.133)
[root@wolf redis]# ./src/redis-server redis.conf
[root@wolf redis]# ps -ef | grep redis
root     16315     1  0 16:09 ?        00:00:00 ./src/redis-server *:6379    
root     16319 16130  0 16:09 pts/1    00:00:00 grep redis

切换回去(10.249.2.134---10.249.2.133)
10.249.2.134上执行
[root@wolf redis]# ./src/redis-cli -p 6380 slaveof 10.249.2.133 6379
OK

10.249.2.133上执行
[root@wolf redis]# ./src/redis-cli -p 6379      
127.0.0.1:6379> get name
"laolang"
127.0.0.1:6379> set name wolf
OK
127.0.0.1:6379> get name 
"wolf

10.249.2.134上执行
[root@wolf redis]# ./src/redis-cli -p 6380
127.0.0.1:6380> get name
"wolf"
127.0.0.1:6380> set name 123
(error) READONLY You can't write against a read only slave.













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值