加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

一文带你揭开Redis复制原理的神秘面纱

发布时间:2019-09-17 12:29:18 所属栏目:建站 来源:陈龙
导读:副标题#e# Redis作为一个非结构化的内存数据库,在某些应用场景具备相应优势,在实际的场景设计中也得到广泛的关注和使用。但是,大部分企业的Redis数据库架构为单机运行,没有设计容灾复制,这样对于Redis的容错特性没有发挥出来,而且无持久化情况下,数

由于Redis同步的是命令集合,主数据库记录那些对自己状态发生变更的指令记录到本地内存buffer中,通过异步的方式将buffer中的指令同步到从数据库,从数据库利用这些指令执行,以保持与主数据库一样的状态,也即是通过应用命令的偏移量反馈到主数据库,让主数据库不断发送buffer指令。

偏移量的查看:

  1. role:master 
  2. connected_slaves:2 
  3. slave0:ip=127.0.0.1,port=6380,state=online,offset=3724,lag=1 
  4. slave1:ip=127.0.0.1,port=6382,state=online,offset=3724,lag=1 
  5. master_replid:b9e0f41a523e078a6a88ae274f204777775ab4dc 
  6. master_replid2:0000000000000000000000000000000000000000 
  7. master_repl_offset:3724 
  8. second_repl_offset:-1 
  9. repl_backlog_active:1 
  1. role:slave 
  2. master_host:127.0.0.1 
  3. master_port:6379 
  4. master_link_status:up 
  5. master_last_io_seconds_ago:7 
  6. master_sync_in_progress:0 
  7. slave_repl_offset:3752 
  8. slave_priority:100 
  9. slave_read_only:1 

四、数据一致性验证

Redis提供了两种数据同步模式,以保持主数据库与从数据库的一致性。

  • 完整性同步
  • 部分同步

完整性同步,也就是上文说到的数据初始化过程,将主数据库中所存储的所有数据全部发送到从数据库。

部分同步,对应着上文提及的增量复制,即只将部分数据发送到从数据库。

1. 测试验证

增加从库实例

  1. [redis@albert src]$ cp redis.conf6380 redis.conf6382 

调整配置文件

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读