首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
如何实现Redis高可用?
[问答题]
如何实现Redis高可用?
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(120)
分享
纠错
38个回答
添加回答
37
牛客732147750号
高可用即需要有多个副本而不是单体支撑,主节点不可用可以替换成副节点,那么多个副本需要合理同步机制,做到这两点即可实现高可用,redis通过哨兵模式,集群模式来扩展单节点支撑。同时做好数据同步即实现了高可用
发表于 2022-06-06 19:22:42
回复(0)
26
牛客793464225号
主从复制:写一定是在主服务器上,然后主服务器同步给从服务器。缺点:当主服务器挂掉的时候,不能自动切换到从服务器上。主从服务器存储数据一样,内存可用性差。优点:在一定程度上分担主服务器读的压力。哨兵模式:构建多个哨兵节点监视主从服务器,当主服务器挂掉的时候,自动将对应的从服务器切换成主服务器。优点:实现自动切换,可用性高。缺点:主从服务器存储数据一致,内存可用性差。还要额外维护一套哨兵系统,较为麻烦。集群模式:采用无中心节点的方式实现。多个主服务器相连,一个主服务器可以有多个从服务器,不同的主服务器存储不同的数据。优点:可用性更高,内存可用性高。
发表于 2022-06-15 20:26:14
回复(0)
14
十七_
redis的高可用,主要有哨兵模式和集群模式这两种方式。 哨兵模式:哨兵模式是一个分布式架构,它包含若干个哨兵节点和数据节点,每一个哨兵节点都监控着其他的数据节点和哨兵节点,当发现节点不可达时,会对节点做下线标识。如果被标识的是主节点,它就会与其他哨兵节点协商,可以避免误判,当大多数哨兵节点都认为主节点不可达时,它们便会选择出一个哨兵节点来做自动故障转移工作,可以将从节点晋升为主节点,同时还会实时的通知到应用方,整个过程自动的,实现高可用。 集群模式:Redis集群采用虚拟槽分区来实现数据分片,它把所有的键根据哈希函数映射到0-16383整数槽内,计算公式为slot=CRC16(key)&16383,每一个节点负责维护一部分槽以及槽所映射的键值数据。
发表于 2022-04-28 16:11:20
回复(0)
7
拒绝无效加班的三文鱼很爱看电影
为了减轻数据库访问的压力,把热点数据存储于内存中而不是从后方数据库中读取。但是在大型网络应用中,单个redis很难保证数据量的访问于存储,所以可以搭建redis集群,保证数据的分撒储存与数据的一致性,实现redis的高可用。 1、主从模式:一个master主机与多个slave从机,主节点负责写操作,从节点负责读操作。 优点:读写分离,主节点的数据会自动复制给从节点,分担主节点的压力 缺点:一旦主节点宕机,会导致部分数据未实现同步;主节点宕机与从节点都需要进行重启; 2、哨兵模式:本身也是主从模式,添加了哨兵功能,可以对主节点进行观察,一旦主节点挂机就进行投票在从机中选取一个新的主机。 优点:主机可以自组切换,增加了系统的健壮性与高可用性 缺点:在选取期间无法确定主从,无法工作。 3、Cluster模式:实现的是数据的分布式存储,数据存储于不同的节点上,所以cluster实现的是一种去中心化控制。在每个小集群中实现的也是主从模式,从节点只会拉取主节点的备份数据,不会参与数据的存取操作。当主节点宕机,就会启动从节点。
发表于 2022-07-18 21:31:37
回复(1)
5
lp必能有offer
你们背的时候都是背这么一大堆吗
发表于 2022-12-23 17:25:28
回复(0)
4
自信的大白菜
为了减轻数据库访问的压力,把热点数据存储于内存中而不是从后方数据库中读取。但是在大型网络应用中,单个redis很难保证数据量的访问于存储,所以可以搭建redis集群,保证数据的分撒储存与数据的一致性,实现redis的高可用。
1、主从模式:一个master主机与多个slave从机,主节点负责写操作,从节点负责读操作。
优点:读写分离,主节点的数据会自动复制给从节点,分担主节点的压力
缺点:一旦主节点宕机,会导致部分数据未实现同步;主节点宕机与从节点都需要进行重启;
2、哨兵模式:本身也是主从模式,添加了哨兵功能,可以对主节点进行观察,一旦主节点挂机就进行投票在从机中选取一个新的主机。
优点:主机可以自组切换,增加了系统的健壮性与高可用性
缺点:在选取期间无法确定主从,无法工作。
3、集群模式:实现的是数据的分布式存储,数据存储于不同的节点上,所以cluster实现的是一种去中心化控制。在每个小集群中实现的也是主从模式,从节点只会拉取主节点的备份数据,不会参与数据的存取操作。当主节点宕机,就会启动从节点。
优点:可用性更高,内存可用性高。
发表于 2023-02-06 18:29:40
回复(0)
3
牛客_正
哨兵、集群。 主从复制
发表于 2022-06-29 12:57:17
回复(0)
1
acodebird
redis保证高可用:
1.主从复制+哨兵模式:主从复制实现数据备份冗余、哨兵实现故障自动切换
2.集群模式(Redis Cluster)是一种分布式解决方案,
通过将数据分片(16384个哈希槽)分散到多个节点上,每个节点都有主从结构,主节点负责读写,从节点负责备份,支持自动数据迁移和故障转移,
解决redis单机内存问题、单点故障问题
发表于 2025-08-05 16:12:12
回复(0)
1
想潜水的他刷牛客
redis的高可用主要有三种方式:主从模式,哨兵模式,集群模式 主从模式:指设置两个节点,主节点用于写操作,从节点用于读操作,这样提高了访问效率。但是主从模式当主节点宕机之后无法自动更换主节点会导致服务停止。 哨兵模式:通过sentinel来监控节点,当主节点宕机之后会使得主节点逻辑中断,并且通知其他sentinel访问主节点,当超过一定数量的sentinel认为主节点中断之后,确定主节点已经宕机,自动切换某一个从节点为主节点。 集群模式:通过分片操作(通过哈希槽,将数据分为不同的片区,在访问数据时通过哈希槽找到对应的分片)将数据部署到不同的服务器上,在不同的服务器中可以设置主节点和多个从节点,主节点宕机之后也可以自动的,并且各个服务器之间可以通信,客户端可以访问任意服务器都可以找到对应的数据,并且通过这种方式可以实现互相监控。
发表于 2025-06-02 12:28:02
回复(0)
1
抑郁每一天
难得排版没有那么阴间的
发表于 2023-03-26 20:06:28
回复(0)
1
牛客96529327号
😐
发表于 2022-09-15 15:31:02
回复(0)
1
别打小书包唉
为了减轻数据库访问的压力,把热点数据存储与内存中而不是从后方数据库中读取,但是在大型网络应用中,单个Redis很难保证数据量的访问于存储,所以需要搭建Redis集群,保证数据的分撒存储与数据的一致性,实现Redis的高可用。1)主从模式:一个master主机与多个slave从机,主节点负责写操作,从节点负责读操作。优点:读写分离,主节点的数据会自动复制给从节点,分担主节点的压力。缺点:一旦主节点宕机,会导致部分数据来实现同步,主节点宕机与从节点宕机都需要进行重启。2)哨兵模式:本身也是主从模式,但是添加了哨兵功能,可以对主节点进行监控,一旦主节点挂掉就在从节点中进行投票选举。优点:主机可以自组切换,增加了系统的健壮性和高可用性。缺点:在选举期间无法确定主从,无法工作。3)集群模式:实现的是数据的分布式存储,数据存储与不同的节点上,所以集群实现的是一种去中心化控制。在每个小集群中实现的也是主从模式,从节点只会拉取主节点的备份数据,不会参与数据的存取操作。当主节点宕机,机会启动从节点。
发表于 2022-07-19 12:01:04
回复(0)
0
立志践行不悲观
可以通过主从复制,哨兵模式和集群模式实现Redis高可用。主从复制通过异步操作实现主节点和副节点的数据同步。哨兵模式通过哨兵实时监控主从节点的健康,实现故障转移,适合中小规模的场景。集群模式通过多个主服务器相连实现分片,其优势在于可扩展性且可用性最高,适合高并发大规模需要扩展的场景
发表于 2025-12-31 17:28:57
回复(0)
0
在看数据的垂耳兔很想六点下
高可用即需要有多个副本而不是单体支撑,使用主从复制架构,主节点不可用可以替换成副节点,多个副本需要合理同步机制,做到这两点即可实现高可用。redis通过哨兵模式,集群模式来扩展单节点支撑。同时做好数据同步即实现了高可用 。
发表于 2025-11-12 22:06:29
回复(0)
0
why_1
哨兵模式搭建redis实现高可用,主节点可读可写,从节点仅可读。主节点挂掉后,哨兵机制内部投票选举新的从节点作为主节点并将主节点信息同步给其他从节点,投票的依据就是节点可用性和数据完整性。
发表于 2025-08-25 17:30:09
回复(0)
0
湖北民族大学ACM陈晓虎
redis高可用主要有三种方案,主从复制,哨兵和集群。主从复制适合性能要求不那么高的情况,主节点处理写命令,从节点处理读命令,但是无法实现自动故障转移,主节点挂了需要重写配置,配置新的主节点。哨兵能够实现自动故障转移,主要是监测节点是否发生故障,用ping命令轮询的询问各个节点,如果没有回复,则会判断该节点主观下线,然后要其它节点投票,超过一半票,则认为客观下线,如果下线的是主节点,就需要重新选举新的主节点,主要是从优先级最高的,复制偏移量最大的,如果都一样则选择runid最小的节点为新的主节点。集群模式通过分片将数据分散到多个主节点,每个主节点还会对应多个从节点,redis采用哈希槽将数据分散到不同节点,客户端访问数据会先进行哈希函数运算,确定在哪个节点,然后就可以访问到数据
发表于 2025-06-26 15:29:59
回复(0)
0
叠叠不休的加菲猫
实现Redis高可用主要通过以下方式: 1. 主从复制架构实现数据冗余备份; 2. 哨兵模式(Sentinel)监控主节点并自动故障转移; 3. 集群模式(Redis Cluster)通过数据分片和节点互备提供分布式高可用; 4. 配合持久化机制保障数据安全; 5. 部署多机房容灾架构应对网络分区。
发表于 2025-06-06 16:58:12
回复(0)
0
真的会谢的牛油果很想六点下
引入redis集群(一主一从+哨兵模式)+可通过引入读写锁来保持数据的强一致性
发表于 2025-05-23 19:38:53
回复(0)
0
牛客152771347号
高可用即需要有多个副本而不是单体支撑,使用主从复制架构,主节点不可用可以替换成副节点,多个副本需要合理同步机制,做到这两点即可实现高可用。redis通过哨兵模式,集群模式来扩展单节点支撑。同时做好数据同步即实现了高可用 。
发表于 2025-05-22 13:52:11
回复(0)
0
一个编程牛
主从复制,哨兵模式,集群模式
发表于 2024-09-02 13:30:26
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Redis
上传者:
real1993
难度:
38条回答
120收藏
1229浏览
热门推荐
相关试题
下面关于Redis中的操作命令,错...
Redis
评论
(4)
下面关于Redis 6.0版本中的...
Redis
评论
(2)
下面关于Redis的定义和特点,正...
Redis
评论
(3)
电路如图所示,RL为负载电阻, 则...
模拟电路
评论
(1)
下面选项中,哪些 Go 程序代码不...
Go
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题