关于redis的二三事

2020-09-13  本文已影响0人  知名乐天

序言

redis作为一个web开发者不可不用的一个好工具,关于redis,如果只是知道如何使用,那么你怎么敢说自己精通redis呢? 下面节选了redis的一些理论知识,看完之后就可以可以在简历上大胆的写下: 精通redis 啦。

redis中的过期删除策略

redis的持久化操作

RDB持久化

譬如以下命令来触发bgsave:
save 900 1 表示: 900秒内对数据库进行一次修改;

AOF持久化
redis的主从机制
在redis中,我们可以通过SLAVEOF命令,让一个服务器去复制另一个服务器。
同步功能

redis2.8以前的同步操作:

从redis2.8开始:

哨兵机制

由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器;其作用是当被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个服务器升级成新的主服务器,然后由新的主服务器代替已经下线的主服务器继续处理命令请求。

Sentinel启动的步骤如下:

  1. 初始化服务器;
  2. 将普通的redis服务器使用的代码替换成Sentinel专用代码;
  3. 初始化Sentinel状态;
  4. 根据给定的配置文件,初始化Sentinel的监视主服务器列表;
  5. 创建连向主服务器的网络连接;

当redis服务出问题的时候,sentinel操作的流程如下:

  1. Sentinel会挑选server1属下的其中一个从服务器,并将这个被选中的从服务器升级为新的主服务器;
  1. Sentinel会向server1属下的所有从服务器发送新的复制指令,将它设置为新的主服务器的从服务器,当所有从服务器都开始复制新的主服务器时,故障转移操作执行完毕;

sentinel的选举机制:
进行选举的时候,首先都会将配置纪元的值自增一次,所有的sentinel都有一次将某个sentinel设置为局部master的机会,并且设置后不能修改。另外,每个发现了原来的sentinel机器下线的机器都会要求其他人把自己设置为master,并且按照先到先得的情况。最后,得到超过半数投票的sentinel会成为新的领头sentinel,否则的话,重新进行一次选举。

备注信息

上一篇 下一篇

猜你喜欢

热点阅读