目录
1.Redis备份(持久化)
2.Redis内存回收策略
3.复制(主从同步)
4.哨兵(Sentinel)模式
1.Redis备份(持久化)
两种方式备份:
1.快照(snapshotting),备份当前瞬间Redis在内存中的数据记录
2.只追加文件(Append-Only File, AOF),当Redis执行写命令,在一定的条件下
将执行过的写命令依次保存在Redis的文件中
2.Redis内存回收策略
配置项-maxmemory-policy
#volatile-lru:采用最近使用最少的淘汰策略,Redis将回收那些超时的键值对
#allkeys-lru:采用淘汰最少使用的策略,Redis将对所有键值对采用最近使用最少的淘汰策略
#volatile-random:采用随机淘汰策略删除超时的键值对
#allkeys-random:采用随机淘汰策略删除所有的键值对,这个策略不常用
#volatile-ttl:采用删除存活时间最短的键值对策略
#noeviction:不淘汰任何键值对,当内存已满时,读操作正常,写操作返回错误;内存达到最大的时候,只能读而不能写
Redis默认采用noeviction策略
LRU算法或者TTL算法都是不是很准确算法,而是一个近似的算法
3.复制
读/写分离,前提:读操作远远比写操作频繁得多
主从同步基础概念
主从架构的思路大概是:
- 在多台数据服务器中,只有一台主服务器,而主服务器只负责写入数据,不负责让外部程序读取数据
- 存在多台从服务器,从服务器不写入数据,只负责同步主服务器的数据,并让外部程序读取数据
- 主服务器在写入数据后,即刻将写入数据的命令发送给从服务器,从而使得主从数据同步
- 应用程序可以随机读取某一台从服务器的数据,这样就分摊了读数据的压力
- 当从服务器不能工作的时候,整个系统将不受影响;当主服务器不能工作的时候,可以方便地从从服务器中选举一台来当主服务器
主从同步机制如图:
主从同步过程:
4.哨兵(Sentinel)模式
哨兵是一个独立的进程,作为进程,它会独立运行。
原理:哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例
哨兵两个作用:
- 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器
- 当哨兵检测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知到其他的从服务器,修改配置文件,让他们切换主机
Redis一主二从三哨兵配置:https://blog.csdn.net/weixin_38964895/article/details/102956941