찾다
데이터 베이스MySQL 튜토리얼 Redis主从持久化测试

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

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
es和redis区别es和redis区别Jul 06, 2019 pm 01:45 PM

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

一起来聊聊Redis有什么优势和特点一起来聊聊Redis有什么优势和特点May 16, 2022 pm 06:04 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

Vue中如何实现数据的缓存和持久化Vue中如何实现数据的缓存和持久化Oct 15, 2023 pm 01:06 PM

Vue中如何实现数据的缓存和持久化在Vue中,数据的缓存和持久化是一个常见的需求。缓存数据可以提高应用的性能,而持久化数据可以让用户在刷新页面或重新打开应用后依然能够看到之前保存的数据。下面将介绍如何通过一些常用的方法实现数据的缓存和持久化。使用Vuex实现数据缓存Vuex是Vue的官方状态管理库,它可以用来集中管理应用的所有组件的状态。我们可以利用Vuex

实例详解Redis Cluster集群收缩主从节点实例详解Redis Cluster集群收缩主从节点Apr 21, 2022 pm 06:23 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

详细解析Redis中命令的原子性详细解析Redis中命令的原子性Jun 01, 2022 am 11:58 AM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

一文搞懂redis的bitmap一文搞懂redis的bitmapApr 27, 2022 pm 07:48 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

一起聊聊Redis实现秒杀的问题一起聊聊Redis实现秒杀的问题May 27, 2022 am 11:40 AM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于实现秒杀的相关内容,包括了秒杀逻辑、存在的链接超时、超卖和库存遗留的问题,下面一起来看一下,希望对大家有帮助。

redis error什么意思redis error什么意思Jun 17, 2019 am 11:07 AM

redis error就是redis数据库和其组合使用的部件出现错误,这个出现的错误有很多种,例如Redis被配置为保存数据库快照,但它不能持久化到硬盘,用来修改集合数据的命令不能用。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)