千家信息网

Redis Cluster到底会不会丢数据

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍Redis Cluster到底会不会丢数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Redis Cluster 会丢数据吗?Redis Cluster 不保
千家信息网最后更新 2026年11月01日Redis Cluster到底会不会丢数据

这篇文章给大家介绍Redis Cluster到底会不会丢数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Redis Cluster 不保证强一致性,在一些特殊场景,客户端即使收到了写入确认,还是可能丢数据的。

场景1:异步复制

  • client 写入 master B

  • master B 回复 OK

  • master B 同步至 slave B1 B2 B3

B 没有等待 B1 B2 B3 的确认就回复了 client,如果在 slave 同步完成之前,master 宕机了,其中一个 slave 会被选为 master,这时之前 client 写入的数据就丢了。

wait 命令可以增强这种场景的数据安全性。

wait 会阻塞当前 client 直到之前的写操作被指定数量的 slave 同步成功。

wait 可以提高数据的安全性,但并不保证强一致性。

因为即使使用了这种同步复制方式,也存在特殊情况:一个没有完成同步的 slave 被选举为了 master。

场景2:网络分区

6个节点 A, B, C, A1, B1, C1,3个master,3个slave,还有一个client,Z1。

发生网络分区之后,形成了2个区,A, C, A1, B1, C1 和 B Z1。

这时 Z1 还是可以向 B 写入的,如果短时间内分区就恢复了,那就没问题,整个集群继续正常工作,但如果时间一长,B1 就会成为所在分区的 master,Z1 写入 B 的数据就丢了。

maximum window(最大时间窗口) 可以减少数据损失,可以控制 Z1 向 B 写入的总数:

过去一定时间后,分区的多数边就会进行选举,slave 成为 master,这时分区少数边的 master 就会拒绝接收写请求。

这个时间量是非常重要的,称为节点过期时间。

一个 master 在达到过期时间后,就被认为是故障的,进入 error 状态,停止接收写请求,可以被 slave 取代。


Redis Cluster 不保证强一致性,存在丢失数据的场景:

  • 异步复制

在 master 写成功,但 slave 同步完成之前,master 宕机了,slave 变为 master,数据丢失。

wait 命令可以给为同步复制,但也无法完全保证数据不丢,而且影响性能。

  • 网络分区

分区后一个 master 继续接收写请求,分区恢复后这个 master 可能会变为 slave,那么之前写入的数据就丢了。

可以设置节点过期时间,减少 master 在分区期间接收的写入数量,降低数据丢失的损失。

关于Redis Cluster到底会不会丢数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

数据 时间 同步 场景 保证 一致 一致性 网络 节点 特殊 安全 内容 命令 安全性 损失 数量 更多 还是 帮助 选举 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 互联网是第几次科技革命的成果 广州万易互联网科技有限公司 广州紫鲸互联网科技有限公司 山东特亿宝互联网科技有限公司 重生之互联网科技帝国 圆梦互联网科技 中资互联网科技 狮子座互联网科技 安控科技rtu产品工业互联网 阿里巴巴算科技企业还是互联网 消费医药和互联网科技 互联网保险科技创业 乌鲁木齐新华智原互联网科技学校 西安小鹰速贷互联网科技有限公司 翼展科技 首家互联网医院 深圳艾果互联网通讯科技 梅州GM互联网络科技有限公司 优雇互联网科技有限公司 株洲百竞科技的互联网营销顾问 关于新基建和互联网科技 北京互联网科技 科技与互联网发展 须眉科技是互联网公司吗 金融科技与互联网金融相同和不同 互联网科技教育视频 中国航天科技大学国际工业互联网 威龙国际互联网科技公司 互联网营销推广黑科技 山东蛋芒互联网科技有限公司
0