Redis之主从复制和集群是什么?它们有什么关系?

一、主从复制是什么?

主从复制(Master-Slave Replication)是Redis提供的一种数据冗余和读写分离的技术。它通过将数据从主服务器(Master)复制到一个或多个从服务器(Slave)来实现:

  • 数据冗余:保证数据的持久性和防止数据丢失。
  • 读写分离:主服务器负责写操作,从服务器可以处理读请求,从而分担主服务器的读负载。
  • 简单的故障恢复:当主服务器故障时,可以手动将其中一个从服务器提升为主服务器,以恢复服务。

将一个Redis服务器作为主节点(master),负责写操作;其他的Redis服务器作为从节点作为从节点(slave),负责读操作。主节点和从节点的关系是一对多,数据只能从主节点单项复制到从节点。

通过修改配置文件redis.conf实现配置从节点(默认为主节点,主节点无需配置)。

二、Redis集群是什么?

Redis集群是一种水平扩展技术,旨在解决单个Redis实例的内存和并发限制。它将数据分布在多个节点上,支持数据分区和自动故障转移。集群模式具有以下特点:

  • 数据分区:数据被分散在多个节点上,每个节点负责数据集的一部分,从而可以线性扩展存储容量和并发处理能力。
  • 自动故障转移:集群中的节点可以自动检测其他节点的故障,并在必要时进行自动故障转移。
  • 高可用性:集群中的多个节点可以同时提供服务,即使部分节点失败,集群仍然可以继续工作。

三、关系

虽然主从复制和集群在概念上是独立的,但在实际部署中,它们经常被一起使用,以构建高度可扩展和容错的Redis环境:

  • 集群中的主从复制:在集群模式下,每个主节点都可以有从节点,形成主从复制关系。这样,即使某个主节点发生故障,从节点可以迅速接管,减少故障恢复时间。
  • 集群与哨兵结合:哨兵不仅可以监控和管理非集群模式下的主从复制,也可以与集群模式下的主节点配合,实现更高级别的故障检测和自动恢复。

总的来说,主从复制侧重于单个实例的数据冗余和读写分离,而集群则侧重于整个系统级别的数据分布和高可用性。两者结合使用,可以构建一个既具有高可用性又具备良好扩展性的Redis部署方案。

相关推荐
aiks_yuan5 小时前
Token 放 Redis 还是用 JWT:Java 实测验签和查 Redis 耗时,退出登录、改密码踢下线怎么做(jjwt 0.12 + Redis 7.2)
redis
我不会起名字32213 小时前
Redis 从 0 到 1(二十九):CPU 突然 100%——commandstats 定位法与 6 步排查链路
redis·cpu·慢查询·排查·commandstats
我不会起名字32214 小时前
Redis 从 0 到 1(二十八):Redis 抖一下,重试把它打挂了——超时/重试/熔断的 Go 封装
redis·go·超时·熔断·重试
我不会起名字32215 小时前
Redis 从 0 到 1(三十):删了一半数据 RSS 不降——内存碎片与 activedefrag 观测
redis·内存碎片·rss·排查·activedefrag
csdn_aspnet1 天前
使用 Docker 和 RedisInsight 设置 Redis 以进行本地开发
redis·docker·容器·redisinsight
用户094248568031 天前
第22章:Redis 持久化 RDB 与 AOF:数据不丢的底线
redis·架构·源码
没有气的汽水1 天前
升级完客户端,redis 又开始大量返回 MOVED:一个埋了七个月的本地配置
redis
csdn_aspnet1 天前
如何在本地 Docker 容器中运行 Redis,并使用 Redis Insight 和 Redis CLI 进行管理
redis·docker·容器
IT规划师2 天前
Redis 数据类型全解 - Bitfield:99% 开发者没用过的位域操作,把内存再砍 80%(七)
redis·bitfield·位域