redis伪主从

redis作为一种cache服务器,其功能是非常强大的。

redis还提供了master-slave机制,slave同步时间在测试机上如下图(单位ms)。图中master和slave分布在两个机房,访问时间在0.88ms左右。



然而在http://redis.io/topics/replication 有这么一句话: When a master and a slave reconnects after the link went down, a full resync is performed.

这就代表假设redis中有10G数据,然后slave redis因为任何原因断开连接,slave要重新同步这10G数据。在slave需要接受read操作时且网络不稳定状态,随着数据量增大,肯定会出现问题。

为解决这个问题,重新设计了redis同步策略:首先,在redis中存储一个list,当有数据来时,插入list;其次,本地脚本监控队列,不为空,取数据同步到slave机。

这样设计可以保证在master和slave间网络断掉时,不需要重新同步所有数据,只需要同步list中数据。

list操作:http://www.cnblogs.com/stephen-liu74/archive/2012/02/14/2351859.html

代码后续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值