Redis主从持久化测试
2012-12-03 15:57
253 查看
1:redis主从环境,均未开启持久化;
当主实例宕机,从实例上的数据不受影响;
当主恢复后,主实例上的数据将会继续同步到从实例,即原来的值将变为空值;
2:redis主从环境,从实例开启快照持久化
当主实例宕机,从实例上的数据不受影响;
当主恢复后,主实例上的数据将会继续同步到从实例,即原来的值将变为空值;
3:推进一层,当主,从实例均宕机的情况下会如何呢?
实践证明,在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) |
当主实例宕机,从实例上的数据不受影响;
当主恢复后,主实例上的数据将会继续同步到从实例,即原来的值将变为空值;
[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 |
[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 |
[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" |
相关文章推荐
- [原]Redis主从复制各种环境下测试
- 总结redis第三部分(安全性、主从、哨兵、事物、持久化、发布与订阅、虚拟内存)
- redis持久化,主从及数据备份
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
- redis 持久化、主从配置保证数据安全性能
- redis 主从master-slave搭建及测试
- Redis的HA搭建和主从复制搭建以及测试
- 缓存系列之四:redis持久化与redis主从复制
- Redis的RDB持久化测试(RDB默认是启动的)
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
- Redis 持久化 主从配置 sentinel配置
- redis持久化功能及主从模式
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
- Redis安装、配置、操作、持久化、主从、phpredis扩展安装使用详解之安装配置
- Redis的主从复制测试
- Redis进阶实践(三)——redis高级应用(主从、事务与锁、持久化)
- redis持久化,主从及数据备份
- Redis主从配置及测试
- Redis集群的安装测试(伪分布模式 - 主从复制)
- 浅谈小白如何读懂Redis高速缓存与持久化并存及主从高可用集群 推荐