博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis主从持久化测试
阅读量:6685 次
发布时间:2019-06-25

本文共 4564 字,大约阅读时间需要 15 分钟。

1:redis主从环境,均未开启持久化;
当主实例宕机,从实例上的数据不受影响;
当主恢复后,主实例上的数据将会继续同步到从实例,即原来的值将变为空值;
[
root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 info |grep -A 3 'Replication'
# Replication
role:master
connected_slaves:1
slave0:192.168.1.113,6379,online
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123
redis 192.168.1.112:6379> set 1 a
OK
redis 192.168.1.112:6379> get 1
"a"
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 shutdown
[root@server12 ~]# tail -f /var/log/messages
Dec  3 15:27:34 server12 redis[32151]: Connecting to MASTER...
Dec  3 15:27:34 server12 redis[32151]: MASTER <-> SLAVE sync started
Dec  3 15:27:34 server12 redis[32151]: Error condition on socket for SYNC: Connection refused
[root@server12 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123
redis 192.168.1.113:6379> get 1
"a"
[root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123
redis 192.168.1.112:6379> get 1
(nil)
redis 192.168.1.112:6379> exit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123
redis 192.168.1.113:6379> get 1
(nil)
2:redis主从环境,从实例开启快照持久化
当主实例宕机,从实例上的数据不受影响;
当主恢复后,主实例上的数据将会继续同步到从实例,即原来的值将变为空值;
 
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 
redis 192.168.1.112:6379> get 1
(nil)
redis 192.168.1.112:6379> set 1 a
OK
redis 192.168.1.112:6379> set 2 b
OK
redis 192.168.1.112:6379> exit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 shutdown
[root@server12 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 
redis 192.168.1.113:6379> get 1
"a"
redis 192.168.1.113:6379> get 2
"b"
redis 192.168.1.113:6379> exit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 
redis 192.168.1.112:6379> get 1
(nil)
redis 192.168.1.112:6379> get 2
(nil)
redis 192.168.1.112:6379> exit
[root@server12 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 
redis 192.168.1.113:6379> get 1
(nil)
redis 192.168.1.113:6379> get 2
(nil)
redis 192.168.1.113:6379> exit
  
 3:推进一层,当主,从实例均宕机的情况下会如何呢?
 
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 
redis 192.168.1.112:6379> set 1 a
OK
redis 192.168.1.112:6379> set 2 b
OK
redis 192.168.1.112:6379> set 3 c
OK
redis 192.168.1.112:6379> exit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 
redis 192.168.1.113:6379> get 1
"a"
redis 192.168.1.113:6379> get 2
"b"
redis 192.168.1.113:6379> get 3
"c"
redis 192.168.1.113:6379> exit
这次先关闭从实例,再关闭主实例!启动则先启动从实例,测试数据;再启动主实例,再测试数据!
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 shutdown
[root@server12 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 shutdown
[root@server12 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 
redis 192.168.1.113:6379> get 1
"a"
redis 192.168.1.113:6379> get 2
"b"
redis 192.168.1.113:6379> get 3
"c"
[root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 
redis 192.168.1.112:6379> get 1
(nil)
redis 192.168.1.112:6379> get 2
(nil)
redis 192.168.1.112:6379> get 3
(nil)
redis 192.168.1.112:6379> exit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 
redis 192.168.1.113:6379> get 1
(nil)
redis 192.168.1.113:6379> get 2
(nil)
redis 192.168.1.113:6379> get 3
(nil)
redis 192.168.1.113:6379> exit

实践证明,在redis主从读写分离条件下,快照持久化只有开在主实例侧才可以保证数据可以跨越实例重启!

[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 
redis 192.168.1.112:6379> set 1 a
OK
redis 192.168.1.112:6379> set 2 b
OK
redis 192.168.1.112:6379> set 3 c
OK
redis 192.168.1.112:6379> set 4 d
OK
redis 192.168.1.112:6379> exit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 
redis 192.168.1.113:6379> get 4
"d"
redis 192.168.1.113:6379> exit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123 shutdown
[root@server12 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123 shutdown
[root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server12 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112 -a 123  get 4
"d"
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113 -a 123  get 4
"d"

转载地址:http://feqao.baihongyu.com/

你可能感兴趣的文章
Hihocoder #1067 : 最近公共祖先·二
查看>>
9.26 H5日记
查看>>
求阶乘的和(for循环)
查看>>
浏览器打卡摄像头的兼容问题
查看>>
Python导入模块方法
查看>>
查看linux系统的运行级别
查看>>
2018 Multi-University Training Contest 6
查看>>
字符乱码之字符集和字符编码
查看>>
USACO习题:Name That Number
查看>>
清除SQL Management Studio记住的用户名和密码
查看>>
创建Google网站地图Sitemap.xml
查看>>
解决Android studio导入项目卡死
查看>>
创建和使用动态链接库 (C++)
查看>>
Uni-app实战项目注意事项
查看>>
洛谷 P1014 Cantor表【蛇皮矩阵/找规律/模拟】
查看>>
Java中的内部接口
查看>>
mysql的cmd窗口查看数据库信息
查看>>
Python之旅.第四章.模块与包
查看>>
CodeForces 876B Divisiblity of Differences (数学水题)
查看>>
HDU 6627 2017ACM/ICPC亚洲区域赛沈阳站 Rabbits
查看>>