当前位置:网站首页>狂神redis笔记12
狂神redis笔记12
2022-07-25 15:45:00 【抹茶味的西瓜汁】
宕机后手动配置主机
![]()
我们把81作为80的主机。
再查看一下81的信息:
现在它的主机已经不是6379,而是6380了。

我们现在可以看到79端口的服务只有一个从机。

我们可以看到我们的80虽然既有主机又有从机,但是它的权限还是写的是从机。
我们的80依旧是不能写的。
![]()
![]()
![]()
我们可以看到我们80能拿到79写入的信息,81的主机是80,但是80的主机是79,所以81也能拿到79写入的信息。
这个模型叫层层链路,不同于我们之前的那种复制的方式。

但是实际上这两种方式我们都不会去使用。
现在我们把79端口进行关闭:
那么现在我们能不能在80和81端口两个服务中选出一个老大呢?
这就有点谋朝篡位的感觉了。一般在没出现哨兵模式之前,我们都是手动进行完成的。


目前他们两个都是从机。

我们现在就手动把它自己变成老大了。
我们现在再重启6379:

6379是master。

但是能看到我们的6380依旧是老大。
如果这个时候老大回来了,就只能重新连接。
我们再重新让他当小弟就可以了。
现在我们再恢复到6379是主机,其它都是它的从机的一主二从的模式,来学习接下来的哨兵模式,这个是重点。
哨兵模式:

我们去测试一下:
我们现在的状态是一主二从,我们就需要去配置一下我们的哨兵:
创建一个哨兵的文件;
这是我们的一个投票机制,我们去监视6379。
sentinel monitor 被监控的名称 host port 1
后面的这个数字1,代表主机挂了,从机投票看让谁成为主机,票数最多的就会成为主机。
然后我们去启动一下我们的哨兵:
我们可以看到管理我们哨兵的文件。
我们给他设置好值后,然后我们去给它关闭掉。
我的6380变成了主机。
如果master节点断开了,这个时候就会从从机中随机选出来一个。(这里是有一个投票算法)
哨兵模式:
我们现在把6379再连上:

它已经不再是主机了,而是变成了从机。
我们会发现我们的6379服务也变成了80的从机。
如果主机此时回来了,只能归并到新的主机下,当作从机,这就是哨兵模式的规则。
缓存穿透和雪崩:

我们的redis的基本内容就结束啦。
边栏推荐
- 排他锁(EXclusive Lock)
- 没错,请求DNS服务器还可以使用UDP协议
- Leetcode - 232 realize queue with stack (design double stack to realize queue)
- MySQL - Summary of common SQL statements
- Alibaba's internal "100 billion level concurrent system architecture design notes" are all inclusive, too comprehensive
- 今天睡眠质量记录84分
- 百奥赛图与LiberoThera共同开发全人GPCR抗体药物取得里程碑式进展
- LeetCode - 641 设计循环双端队列(设计)*
- Matlab -- CVX optimization kit installation
- Matlab simulation of BPSK modulation system (1)
猜你喜欢

CircleIndicator组件,使指示器风格更加多样化

Experimental reproduction of image classification (reasoning only) based on caffe resnet-50 network

Gary marcus: learning a language is more difficult than you think

用GaussDB(for Redis)存画像,推荐业务轻松降本60%

Geogle colab notes 1-- run the.Py file on the cloud hard disk of Geogle

Okaleido launched the fusion mining mode, which is the only way for Oka to verify the current output

泰雷兹推出解决方案,助力SAP客户控制云端数据

Leetcode - 232 realize queue with stack (design double stack to realize queue)

Leetcode - 303 area and retrieval - array immutable (design prefix and array)

TypeError: Unrecognized value type: <class ‘str‘> ParserError: Unknown string format
随机推荐
开发者如何为React Native选择合适的数据库
MySQL页锁
# JWT 图解
兆骑科创高质量海归人才双创服务平台,线上直播路演
Leetcode - 677 key value mapping (Design)*
How Google cloud disk is associated with Google colab
Matlab -- CVX optimization kit installation
LeetCode - 677 键值映射(设计)*
How to solve cross domain problems
Leetcode - 380 o (1) time to insert, delete and get random elements (design hash table + array)
Activity review | July 6 Anyuan AI X machine heart series lecture No. 2 | MIT professor Max tegmark shares "symbiotic evolution of human and AI"
Alibaba's internal "100 billion level concurrent system architecture design notes" are all inclusive, too comprehensive
Beyond compare 4 realizes class file comparison [latest]
HDD杭州站·HarmonyOS技术专家分享HUAWEI DevEco Studio特色功能
乐观锁悲观锁适用场景
[Shakespeare: keep the fun of being a man]
Gap Locks(间隙锁)
Redis distributed lock, it's really impossible without it
Data system partition design - Request Routing
mysql 隔离级别事务