Redis分布式缓存(redis持久化、redis主从)

Redis常被用来作为缓存,分布式缓存即为集群模式的redis。
在这里插入图片描述

一、持久化

1.1 RDB

在这里插入图片描述
Redis停机(主动停机)一次就会执行一次RDB。
在这里插入图片描述
可以看到redis的执行日志生成了rdb文件:
在这里插入图片描述
rdb文件保存在当前运行目录:
在这里插入图片描述
再次启动redis数据会自动恢复:
在这里插入图片描述
注意:
上述的rdb机制是主动停机时执行的,若是宕机不会执行。为例定时实现rdb存储,可以修改redis的配置文件。
在这里插入图片描述
上图的设置是若900或(或300秒或60秒)内由1个(或10个或10000个)key被修改,则执行rdb存储。
在这里插入图片描述
补充:RDB的fork原理
在这里插入图片描述
RDB的持久化是存在风险的,因为两次持久化之间的时间间隔较长。

1.2 AOF持久化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、redis主从

2.1 搭建主从架构

在这里插入图片描述
设置从节点的主节点:
在这里插入图片描述
注意:主节点执行写操作,从节点执行读操作,实现读写分离。
查询主机状态(下图为主节点状态,连接了两个从节点)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 数据同步原理

在这里插入图片描述
master判断slave是否是第一次来同步数据的方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:repl_backlog是一个固定长度的数组,且存满了就从初始位置开始存储,即可看成环形存储。
在这里插入图片描述
在这里插入图片描述

2.3 哨兵

2.3.1 哨兵的作用和原理

哨兵本身也是一个集群。
在这里插入图片描述
在这里插入图片描述
从slave节点中选出一个作为新的master节点的原则:
在这里插入图片描述
在这里插入图片描述

2.3.2 搭建哨兵集群

2.3.3 RedisTemplate连接哨兵

在这里插入图片描述
在这里插入图片描述

2.4 Redis分片集群

Redis主从集群可以应对高并发的问题。但是Redis主从之间也会做同步,为了提高主从同步时的性能,单节点的redis它的内存设置不要太高,如果内存设置过高则在rdb持久化或是全量同步时会导致大量的IO,性能会下降。
若单节点redis的内存上限降低了,比如只能存10G,20G,则不能适用于存储海量数据;此外,主从集群不适用于写并发很高的场景。这些问题用Redis分片集群来解决。

2.4.1 分片集群结构

在这里插入图片描述

2.4.2 散列插槽

插槽是在搭建主从集群时配置的。
在这里插入图片描述

2.4.3 集群伸缩

集群伸缩即动态地增加或删除节点。
在这里插入图片描述
在这里插入图片描述

2.4.4 故障转移

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值