Redis高级--实习生入职指导

文章详细介绍了Redis的两种持久化机制RDB和AOF的优缺点,以及如何开启AOF。接着讨论了Redis主从同步的过程,包括全量和增量同步的原理。此外,还阐述了哨兵集群的作用,负责监控主从节点并实现故障切换。最后,提到了分片集群的概念,用于解决大数据存储和高并发写入的问题,并解释了插槽的计算方法和如何动态扩容。
摘要由CSDN通过智能技术生成
RDB优缺点

优点:恢复快,可以压缩
缺点:
间隔时间太长

AOF开启

修改redis.conf配置文件

# 是否开启AOF功能,默认是no
appendonly yes
# AOF文件的名称
appendfilename "appendonly.aof"

Redis主从

数据同步:

主写数据从能看到:
全量同步是主从第一次同步:
主需要判断是不是第一次同步,如果是第一次,先发数据版本信息,方便以后版本控制
第二 主执行bgsave,实行rdb文件,从节点清空本地数据,加载文件
主有一个缓冲区记录发送过程中产生的新数据
最后主发送缓冲区
image.png
主如何知道从是第一次来:如果是第一次来,主会把id给从,id不一致就是第一次
从做数据同步之前要跟主说自己的id,偏移量
image.png

增量同步是指从重启后同步,在这个过程中丢失的数据同步名叫增量同步,也是有一个缓冲区,会存从重启阶段主产生的数据(尚未同步的数据)
如果尚未同步的数据太多了,被覆盖了,就无法在进行增量同步,需要做全量同步

数据同步原理

image.png

主从节点的局限性,从节点挂掉一个还有其他节点,主节点只有一个,一旦挂了,整个集群不具备写的能力
主节点宕机解决:把从变成主(因为从一直在同步主的数据),当故障修复后也以新的为主,用哨兵监控

哨兵集群:

会不断检查主和从是否按照要求工作,并作主从切换

哨兵工作原理:

每隔一秒发送命令,主观下线和客观下线类似于投票,一个人认为下线是主观,大多数(可以配置)人认为下线是客观
选举新的主原理:根据断开时间长短,然后判断偏移量,越小越高,还可以根据id,offset最重要
新的选举出来后:哨兵会给新的主发image.png,然后告诉其他节点新的主id
然后将故障的主标记为从,告诉新的主的id’

image.png
注意的点是:
image.png


集成哨兵机制步骤
  1. 引依赖
  2. 配置Redis地址
  3. 配置读写分离

分片集群

可以解决两个问题:海量数据存储问题,高并发写的问题
特征:有多个主(写),每个主保存不同数据,每个主都可以有多个从结点
image.png
不需要有哨兵,主节点互相监控

插槽

插槽的计算: {}是有效部分,如果{}里面有内容,如果不包含{},整个key都是有效部分,比如
集群模式下,一定要加 -c 例如image.png

Redis如何判断某个key应该在哪个实例?
  • 将16384个插槽分配到不同的实例
  • 根据key的有效部分计算哈希值,对16384取余
  • 余数作为插槽,寻找插槽所在实例即可
如何将同一类数据固定的保存在同一个Redis实例?
  • 这一类数据使用相同的有效部分,例如key都以{typeId}为前缀
为什么radis可以动态扩容:

因为数据是跟着插槽走的

集群伸缩

添加节点:image.png
生下来就是奴隶,可以指定主


故障转移(一般不问)

自动:
主节点宕机,自动提升一个slave(从)为新的master(主),之前的主就会变自动变成奴
手动:(有目的的迁移)
在新的主节点执行image.png,告诉旧的主被替换,旧的会拒绝一切请求,旧的主会与新的主确定数据是否一致,新的主标记为主告诉其他子节点,旧的主变为奴(也可以直接停用)image.png

RedisTemplate访问分片集群

1)引入redis的starter依赖
2)配置分片集群地址
3)配置读写分离
与哨兵模式相比,其中只有分片集群的配置方式略有差异

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值