![](https://img-blog.csdnimg.cn/direct/d2f93604455347f8a368493f6327e6b1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Redis
文章平均质量分 94
本专栏是专门为Redis爱好者和开发者设计的,旨在分享关于Redis的深入知识、最佳实践以及高级应用技巧。无论您是初学者还是经验丰富的Redis用户,本专栏将为您提供全面的指导,从Redis的基础知识到高级主题,从性能优化到集群部署,帮助您充分发挥Redis的潜力。
shark-chili
这个作者很懒,什么都没留下…
展开
-
netty源码编译跑通简记
源码,发现有了一些不一样的见解,于是便打算重构一下过去的文章分享,而本文将会简单梳理一下笔者对于netty源码编译到运行的全过程,希望对你有帮助。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。获取项目地址,因为笔者习惯在源码上做个人注释,所以也需要进行个人的代码版本管理,所以直接选择下载的方式获取源码,而版本选择的则是。编译不通过,而解决方式也很简单,打开根目录下的pom文件,找到。即可和笔者和笔者的朋友们进行深入交流。原创 2024-07-24 08:32:45 · 458 阅读 · 0 评论 -
来聊聊redis集群数据迁移
redis集群提供16384个slot,我们可以按需分配给节点上,后续进行键值对存储时,我们就可以按照算法将键值对存到对应slot上的redis服务器上:集群节点本质就是通过slots这个数组记录当前节点的所管理的情况,这里我们可以看到slots是一个char数组,长度为char占1个字节,每个字节8位。每个char可以记录8个slot的情况,如果是自己的slot则对应char的某一个位置记录为1:我们以node-1。原创 2024-07-23 08:54:32 · 609 阅读 · 0 评论 -
redis集群中如何处理不同slot
个槽,它会因为我们集群个数配置的不同而分配不同的slot给各个节点,而这篇文章就来聊聊当某个节点处理到非它所负责的slot时是如何处理的,这一点很好的体现了。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。假设我们现在集群中有个节点,每个节点各自负责一部分槽,此时我们的客户端向节点2发起一个。原创 2024-07-22 08:35:36 · 515 阅读 · 0 评论 -
来聊聊去中心化Redis集群节点如何完成通信
我们以一个简单的场景为例介绍一下Gossip协议,默认情况下我们的当前有3个节点的集群,各个节点彼此按照通信要求发送自己的信息和与自己保持交流的节点,由此将有限的资源共享出去构成一个集群。,这个存活节点后续和其他节点通信时,就会将当前新添加的节点4发送出去,由此其他节点收到这个消息并存储下来,经过各个节点的不断反复通信,这个集群中的各个节点就会拥有集群中所有节点的信息。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。原创 2024-07-19 08:40:17 · 608 阅读 · 0 评论 -
来聊聊redis的发布订阅设计与实现
自此我们们将redis发布订阅的设计与实现,都分析完成了,这里笔者也简单的补充一句,从源码中我们可以看到redis的发布订阅模型没有持久化机制,所以对于可靠性要求高的场景笔者还是不太建议使用pub/sub。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。发布订阅源码的设计与实现,通过本文的阅读,你将会对发布订阅模型的设计思想以及对哨兵间选举通信的流程有着更底层的视角。订阅者的键值对结构,它用channel的名称作为。原创 2024-07-18 08:30:52 · 725 阅读 · 0 评论 -
来聊聊Redis哨兵如何主观认定下线
基于上文我们了解哨兵时间事件执行的大体流程,接下来我们会针对每一个流程进行详细的分析,首先我们先来了解一下对于断线重连检查方法,对于断线重连检查,因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。即可看到我们上文所说的而核心逻辑,它对于笔者上文的每一个流程都做了抽象,可以看到它会先尝试和断线的。原创 2024-07-17 08:39:56 · 590 阅读 · 0 评论 -
聊聊Redis哨兵选举与故障转移的实现
上一篇文章我们将哨兵主观下线的核心流程都分析完成,这一篇我们将接着之前的思路,将哨兵获取客观下线结果并结合raft协议完成哨兵leader选举完成故障转移的流程分析完成,希望对你有帮助。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。下线的看法,如果累加到的哨兵对于下线的看法大于或者等于我们配置。原创 2024-07-16 08:39:38 · 885 阅读 · 0 评论 -
Redis哨兵是如何完成初始化的
本系列终于更新到哨兵模块的介绍,由于哨兵模块涉及节点通信和选举等流程,所以笔者将其分为3个篇章进行剖析,而本文笔者将从源码分析的角度介绍一下redis哨兵是如何完成初始化的。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。自此我们将redis哨兵初始化的逻辑分析完成,希望对你有帮助。原创 2024-07-15 08:40:31 · 644 阅读 · 0 评论 -
以从节点的角度看看Redis主从复制的实现
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。近期工作遇到比较奇葩的规划,个人思绪略有惆怅,希望通过整理一些技术小文缓解心中的压抑,我们都知道。的状态是否是待连接,如果是则通过主库的ip及端口号信息发起连接,并在连接期间将状态设置为。发起非阻塞连接,并创建一个连接成功后的回调处理事件。原创 2024-07-12 09:07:37 · 555 阅读 · 0 评论 -
Redis如何高效实现定时任务
时间事件可以是单次到期执行销毁,也可以是定时任务,对此redis对于时间事件统一封装为对象,通过id来唯一标识一个事件,结合when_sec和when_ms记录任务到期执行的秒和分,而执行时间事件的函数也是交由timeProc指针所指向的函数执行。原创 2024-07-11 09:00:10 · 723 阅读 · 0 评论 -
来聊聊Redis持久化AOF管道通信的设计
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。管道通信的方式实现,通过管道通信的方式实现实时数据发送,对应子进程收到这些指令对应的字符串之后,就会将其写入。管道通信通常都是单向的,即收发通道需要交由两个数组空间才能实现,例如父进程写入客户端实时指令到通道只能通过。原创 2024-07-10 08:54:17 · 810 阅读 · 0 评论 -
来聊聊Redis的AOF重写机制
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。文件,基于del等指令将抹去一些无用的键值对,但是笔者查看源码后发现,此类说法有着严重的错误,所以笔者就基于此文来详细讨论一些。,可以看到其内部就是生成一个临时文件,然后遍历数据库中的键值对,根据键值对的类型生成相应的。以本文为例,假设我们。原创 2024-07-09 08:49:05 · 892 阅读 · 0 评论 -
来聊聊redis的AOF写入
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。的解读笔者会分为3篇进行解读,而本文会解读的是AOF写入的核心流程。,其内部逻辑最核心的逻辑就是将指令字符串添加到。的定义中就可以看到这个缓冲区的定义即一个。对应的将文件写入文件前的解析到的字符串,的写入到落盘的整体流程,希望对你有帮助。原创 2024-07-05 08:30:00 · 776 阅读 · 0 评论 -
聊聊Redis持久化策略RDB
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。文件会得到一堆类型乱码的内容,我们无法知晓写入的信息,我们可以直接键入。,通过比对这3条配置的上次保存时间计算出时间间隔,以及当前。文件中看到该方法的实现,可以看到为了避免脏写等问题,函数在看到这段逻辑,它会遍历出我们配置的保存间隔配置。原创 2024-07-03 14:46:51 · 556 阅读 · 0 评论 -
聊聊Redis中缓存淘汰算法的实现
的核心实现,可以看到其内部会检查当前使用的内存并查看是否超过最大内存上限,如果超过了则根据策略定位数据,则进入循环每次淘汰一批元素直到内存空间充裕为止,以笔者为例配置的是。通过上文的解析我们了解redis缓存淘汰算法的基本设计思路,我们不妨通过源码的方式加以印证,当调用set等指令添加新的键值对的时候,redis就会给这个键值对的。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。原创 2024-07-02 13:44:55 · 589 阅读 · 0 评论 -
来聊聊Redis定期删除策略的设计与实现
以上便是笔者对于redis过期键值删除策略设计的全部源码分析,可以看到由于redis单线程的设计,对于每一项操作都在时间和空间上做了极致的设计和实现,希望对你有帮助。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。对于过期键的删除策略,接下来我们就以源码的方式去印证这几点,可以看到。原创 2024-07-01 15:11:45 · 786 阅读 · 0 评论 -
来聊聊redis数据库的设计与实现
是内存中间件,对于这个观点,我其实不是很认同,从使用和redis工作机制来看,它无非是基于内存实现快速的非关系型数据的操作而已,然后在一定的时间段进行一次刷盘持久化,所以从我的认知来看,我觉得。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。得到相同的哈希值则定位相同的索引空间,从而造成碰撞,我们通过拉链法解决冲突的情况,于是我们的查询的时间复杂度有时候可能是。的存储是通过哈希表的哈希算法实现的,由此尽可能的。原创 2024-06-28 08:54:35 · 1012 阅读 · 0 评论 -
来聊聊Redis客户端的概念
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。自此我们从redis客户端创建和指令交互的流程详细的分析的redis客户端这个结构体在redis中的作用,希望对你有帮助。了解了客户端的基本结构之后,我们就从客户端发起连接并建立通信的整个过程了解一下客户端初始化的逻辑,当。原创 2024-06-27 14:30:48 · 947 阅读 · 0 评论 -
来聊聊Redis所实现的Reactor模型
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。,注意笔者所强调的非阻塞获取,这也就是为什么redis仅仅用一个主线程即可实现Reactor模型的原因所在。的调用,该方法会为当前服务端socket套接字的文件描述符绑定读事件的处理器。完成读写事件的处理,由此实现尽可能少的线程处理尽可能多的连接。原创 2024-06-25 13:16:07 · 977 阅读 · 0 评论 -
如何理解redis是单线程的
本质上的意思是说,对于核心的连接建立和指令处理是通过单个线程高效完成,而其余的一些非核心的IO耗时逻辑还是需要多线程来完成,希望对你有帮助。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。了解的任务消费的源码之后,我们再来看看任务的投递的逻辑,我们以aof文件刷盘的任务为例,从定时任务函数。原创 2024-06-24 10:19:32 · 884 阅读 · 0 评论 -
来聊聊redis文件事件驱动的设计
即可看到事件循环框架的核心实现,其本质就是完成事件循环框架的初始化,通过上一步传入的大小创建创建socket的数组空间,记录每一个接入的客户端。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。处理器的实现逻辑,可以看到其内部的处理逻辑本质获取套接字的文件描述符,并基于这个。原创 2024-06-21 09:46:37 · 12017 阅读 · 0 评论 -
聊聊redis中的有序集合
有序集合的实现可以说是集大成于一身,它之所以支持单元素查询和范围查询,是字典(dict)和跳表(skipList)的组合结果,它将带有权重的元素指针分别交给字典和跳表进行管理。Redis为什么用跳表实现有序集合当我们需要通过元素名称定位其权重时,我们可以通过哈希算法到字典中定位到对应的元素,以下图为例,若我们希望定位到apple这个元素的权重时,可以直接计算apple的哈希值结合哈希算法即可实现O(1)级别的元素定位。apple节点的2级索引。apple节点的1级索引。通过banana。原创 2024-06-19 10:05:12 · 668 阅读 · 0 评论 -
聊聊redis中的字典的实现
的字典采用的双数组的方式管理键值对,如下图所示,可以看到dict的数据结构定义了大小为2的哈希表数组,当某个哈希表碰撞激烈需要进行调整时就调整算法将对应的键值对存到。随着我们不断的新增键值对,当前的哈希算法得到的索引位置很大概率会出现哈希冲突,即每次定位到的索引位置都很大概率存在元素,这也就是我们的常说的哈希冲突,这就是。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。原创 2024-06-17 10:21:23 · 46 阅读 · 0 评论 -
基于Gdb快速上手调试Redis
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。对于不需要的断点,我们可以用d指令进行删除,例如断点2即对swap函数的断点我们不需要,可直接键入。工具不同,终端调试工具无法一眼看到所有的代码,如果我们希望看到当前的代码信息,需要通过l即。原创 2024-06-07 09:04:42 · 611 阅读 · 0 评论 -
聊聊我是如何调试redis源码的
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。官方仓库给出的提示,redis默认情况下采用jemalloc 进行编译和链接,所以对于上述问题我们可以直接采用指令。源码解读系列的开篇,感兴趣的读者可以按照笔者的配置步骤搭建一套。两个文件配置,tasks.json配置如下,只需指定编译的。原创 2024-05-28 09:55:39 · 939 阅读 · 0 评论 -
Redis持久化AOF详解
AOF用于将Redis服务器收到的写操作追加到日志文件,通过该机制可以保证服务器重启后依然可以依靠日志文件恢复数据。收到客户端的写入命令(例如SET、DEL等)之后,它会将命令写入AOF缓冲区。redis服务器会定期或者在特定条件下,将AOF缓冲区的数据以追加的方式写到日志文件末尾,这种写入的操作可以是同步的,也可以是异步的,具体看我们配置的刷盘机制。原创 2023-12-13 08:34:50 · 3303 阅读 · 4 评论 -
Redis事务详解
multi:开启事务exec:执行事务取消事务如下图,通过multi,当前客户端就会开启事务,后续的指令都会安迅存到队列中。当用户键入exec后,这些指令都会按顺序执行。若开启multi后输入若干指令,在键入discard,则之前的指令通通取消执行。乐观锁(Optimistic Lock)认为自己操作的数据不会被他人修改,当用户使用乐观锁锁住数据时,用户对拿到当前数据的版本号,修改完成后,会比较这个版本号和数据的版本号是否一致,若一致则说明别人没动过,提交修改操作。原创 2021-10-21 12:59:37 · 8468 阅读 · 1 评论 -
基于Jedis来探讨池化技术
上文我们提到了池化技术的重要性,接下来我们就基于apache客户端来了解一下不同的池化技术运用方式之间的差距。原创 2023-12-11 12:36:47 · 1920 阅读 · 1 评论 -
给我说说Redis持久化机制RDB吧
RDB持久化机制是将内存中的数据生成快照并持久化到磁盘的过程,RDB可以通过手动或者自动的方式实现持久化。原创 2023-12-14 08:56:59 · 1873 阅读 · 0 评论 -
Redis核心入门知识简记
存储键值对的数据结构,也叫映射,字典线性结构,允许重复元素,可以充当队列和栈。相较于集合,增加一个score属性,使得整体有序。集合元素不可重复,但是score可以重复。bitmaps本不是一种数据结构,它只是基于字符串创建的一种可以进行位运算的的字符串。与字符串不同的是他的操作方式比较特殊,我们可以把它们当作一个只能存储0、1的数组,而数组中的每一个位置,我们可以通过偏移量(这个偏移量我认为可以当作索引)来设置0或者1。......原创 2021-10-18 23:57:51 · 428 阅读 · 0 评论 -
聊聊Redis主从复制
Redis进阶 - 高可用:主从复制详解。原创 2021-10-29 00:23:36 · 1103 阅读 · 0 评论 -
关于Redis集群一些总结
redis集群还需要特别注意的问题3. 由于为了保证高可用,我们的集群可能还采取了主从复制的方案,所以因为主节点宕机导致ip地址发生变化,使得应用程序必须通过修改主机地址等方式连接新主节点,虽然我们可以通过代理的方式解决问题,如下图于是,问题又来了,代理挂了怎么办?我们是不是有需要再去考虑一下代理的高可用呢?所以redis集群采用的无中心化配置解决集群高可用问题,如下三个主从复制,彼此量量相连,客户端可以通过任意一个节点找到目标节点获取数据,而且就尽可能的实现了高可用。原创 2021-08-06 22:38:49 · 401 阅读 · 0 评论 -
基于Redis实现分布式锁
关于超卖问题举例来说就是商家库存中有10个商品,而我们的网站有100个用户通过秒杀业务争抢资源,因为代码没有对资源争抢做上锁,所以同一时间大量线程涌入,看到库存有10个产品,纷纷执行资源争抢逻辑,最后一起将库存更新为10-1=9。导致最终数据库显示有9个产品,可订单却创建100单,造成超卖。/*** 加锁*//*** 解锁*/原创 2020-12-14 21:41:18 · 776 阅读 · 1 评论 -
Redis对象与底层数据结构详解
他是简单的字符串列表。支持从左边插入节点或者从右边节点插入。他的底层是链表结构。在早期版本的列表底层用的是ziplist或者linked,但是现在统一用quicklist。哈希对象的键为字符串类型,值是一个键值对集合内部编码可以是ziplist,也可以是hashtable当列表元素小于64字节,且元素个数小于512个的时候,哈希对象底层使用的就是ziplist,反之就是hashtable# 刷新redis数据表OK# 创建一个哈希对象# 小于64字节,为ziplist。............原创 2022-03-22 14:31:07 · 1988 阅读 · 1 评论 -
来聊聊Redis的一些配置文件
设置redis的保护模式,若设置为no,则其他服务器的redis客户端可以随便访问你的redis服务端。如下我们将bind注释,保护模式开启,使用远程连接工具时发现,redis-server拒绝访问了。达到目的,建议设置在3-7范围以内,这个值越大估算的值越准确,但是性能消耗也会随之变高。表示一个空闲的redis客户端维持多久后关闭,若设置为0,表示永不关闭。若设置为yes,则redis服务端会被设置为守护进程,会默认在后台启动。设置内存的使用上限,一旦redis使用上限达到配置值时,就会根据内存。...原创 2021-10-20 22:15:46 · 512 阅读 · 0 评论 -
Redis发布与订阅
答redis发布订阅是一种消息通信通信模式,由发送者(pub)发送消息,订阅者(sub)接收消息。如下图就是订阅着,订阅了channel1的消息。当channel1要发送消息时,这几个订阅者都会实时收到消息。原创 2023-12-18 10:32:53 · 917 阅读 · 0 评论 -
Redis核心知识小结
这个时候可以使用 scan 指令,scan 指令可以无阻塞的提取出指定模式的 key 列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用 keys 指令长。当硬盘压力过大时,fsync操作需要等 待,直到写入完成。尽管我们将数据库中某些数据换到到内存中,但是若有些攻击者使用一些数据库中不存在的key进行恶意攻击,这时候,所有的查询请求就像穿透了缓存中间件一样直接在数据库中进行查询操作,在高并发场景,这样的攻击就会使得数据压力过大,从而导致数据库性能瓶颈。原创 2023-12-14 08:51:48 · 685 阅读 · 1 评论 -
Redis的哨兵模式详解
通过下面的三条命令启动三个哨兵,完成命令且没有报错后,我们可以通过ps命令查看哨兵是否都正常启动,确保无误,我们再进入下一步。命令将其杀死,此时我们观察哨兵的日志就会看到它们进行故障转移,由此说明我们的哨兵模式架构部署成功。找下一个主节点,所以我们必须建立一个哨兵集群,这个哨兵集群我们必须从中选举出。首先解决第一个问题,由于哨兵挂了3个所以还剩两个,假如主节点挂了,由于。先主观下线,任意一个哨兵对主节点进行检测判断,主节点是否下线。,而哨兵只剩两个了,所以选不出哨兵的。命令从主库中获取从库的信息,从而与。原创 2020-08-15 21:41:28 · 3289 阅读 · 1 评论