(3)混合持久化Redis 混合持久化是指将 RDB 持久化方式和 AOF 持久化方式结合起来使用,以充分发挥它们的优势,同时避免它们的缺点 。
它的优缺点如下:
优点:
混合持久化结合了 RDB 和 AOF 持久化的优点,开头为 RDB 的格式,使得 Redis 可以更快的启动,同时结合 AOF 的优点,有减低了大量数据丢失的风险 。
缺点:
- 实现复杂度高:混合持久化需要同时维护 RDB 文件和 AOF 文件,因此实现复杂度相对于单独使用 RDB 或 AOF 持久化方式要高 。
- 可读性差:AOF 文件中添加了 RDB 格式的内容 , 使得 AOF 文件的可读性变得很差;
- 兼容性差:如果开启混合持久化,那么此混合持久化 AOF 文件,就不能用在 Redis 4.0 之前版本了 。
2、Redis 集群Redis 集群是将原先的单服务器,变为了多服务器,这样 Redis 保存的数据也从一台服务器变成了多台服务器,这样即使有一台服务器出问题了,其他的服务器还有备份数据 。所以使用 Redis 集群除了可以保证高可用,还保证了数据不丢失 。
Redis 集群运行有以下 3 种方案:
- 主从同步
- 哨兵模式
- Redis Cluster

文章插图
在 Redis 中一个主节点可以拥有多个从节点,一个从节点也可以是其他服务器的主节点,如下图所示:

文章插图
(2)哨兵模式【Redis 如何保证数据不丢失?】主从同步存在一个致命的问题,当主节点奔溃之后,需要人工干预才能恢复 Redis 的正常使用 。所以我们需要一个自动的工具——Redis Sentinel (哨兵模式) 来把手动的过程变成自动的,让 Redis 拥有自动容灾恢复 (fAIlover) 的能力 。哨兵模式如下所示:

文章插图
“(3)Redis ClusterRedis Cluster 是 Redis 3.0 版本推出的 Redis 集群方案,它将数据分布在不同的服务区上,以此来降低系统对单主节点的依赖,并且可以大大的提高 Redis 服务的读写性能 。Redis Cluster 架构图如下所示:
小贴士:Redis Sentinel 的最小分配单位是一主一从 。
”

文章插图
从上图可以看出 Redis 的主从同步只能有一个主节点,而 Redis Cluster 可以拥有无数个主从节点,因此 Redis Cluster 拥有更强大的平行扩展能力,也就是说当 Redis Cluster 拥有两个主从节点时,从理论上来讲 Redis 的性能相比于主从来说性能提升了两倍,并且 Redis Cluster 也有自动容灾恢复的机制 。
小结Redis 保证数据不丢失的主要手段有两个:持久化和集群运行 。其中持久化有三种实现:RDB、AOF、混合持久化;而集群(运行)也包含了三种实现:主从复制、哨兵模式和 Redis Cluster 。
推荐阅读
- 云原生小技巧 : 如何在本地调试 Kubernetes Webhook?
- 四种消息队列,如何选型?
- 如何恢复手机QQ上的聊天记录?
- 如何查看电脑版微信聊天记录
- 华为手机如何数据迁移?我手把手来教会你
- 微信如何找到附近的人并打招呼
- 如何通过微信得知对方与谁关系密切?
- 房屋装修如何隔音处理
- 如何快速又美观地进行摆盘
- 如何清洗冰箱,如何用蒸汽清洗冰箱?
