Maison > base de données > tutoriel mysql > le corps du texte

Redis主从持久化测试

WBOY
Libérer: 2016-06-07 17:41:04
original
956 Les gens l'ont consulté

1:redis主从环境,均未开启持久化;当主实例宕机,从实例上的数据不受影响;当主恢复后,主实例上的数据将会继续同步到从实例,即原来的值将变为空值;[root@ser

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主从读写分离条件下,快照持久化只有开在主实例侧才可以保证数据可以跨越实例重启!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!