Redsi-高级篇(分布式缓存)

分布式缓存

Redis 持久化

RDB持久化

基本配置:

原理
在这里插入图片描述
配置文件的配置:
SNAPSHOTTING下面进行配置:
在这里插入图片描述

异步底层原理:

大致原理:
执行bgsave时,首先进行fork复制页表给子进程,子进程得到页表开始写入磁盘进行操作,而此时如果主进程有需要对数据进行写入操作,为了防止出现脏读的情况,fork采取的copy-on-write。就是将数据设置为只读的模式,主进程要操作数据只能先复制一份进行写入操作,后续执行完在移入到数据之中。
在这里插入图片描述

总结:

在这里插入图片描述

AOF持久化:

存放原理:

在这里插入图片描述

基本配置:

在这里插入图片描述

优化策略:

由于记录的时 修改的命令,有一个值同时被修改几次,他都会进行记录,会导致,记录了一些没用的命令,于是有了一个重写的功能,使得指令进行简化:
在这里插入图片描述

RDB&AOF 两者对比:

在这里插入图片描述

AOF&RDB混合模式:

开启配置:

首先开启混合模式的前提时要开启AOF模式
配置文件:aof-use-rdb-preamble yes 默认就是yes
在这里插入图片描述

基本原理:

Redis服务器 在执行 AOF重写操作时,就会像执行BGSAVE命令那样,根据数据库当前的状态 生成出 相应的RDB数据,并将这些数据 写入 新建的AOF文件中,至于那些 在AOF重写开始之后 执行的Redis命令,则会继续以协议文本的方式 追加到 新AOF文件的末尾,即已有的RDB数据的后面。

此时的AOF文件的格式:是由ROB+AOF进行组成的
进行回复数据时,首先判断是否有ROB文件,有则使用,然后再使用AOF文件进行回复

Redis 主从:

如何搭建:

文档免费下载
浅说一下:
就是在对应的从节点登录然后 使用命令链接你的主节点即可:

# 执行slaveof
slaveof 192.168.150.101 7001

然后从节点不能进行写操作只能进行读操作。

数据同步原理:

全量同步

在这里插入图片描述
几个关键词:
在这里插入图片描述
实际的原理:
在这里插入图片描述

全量同步总结

在这里插入图片描述

增量同步:

由于一些问题导致,从机宕机等情况的产生,就需要使用增量同步进行操作了。只需要根据 repl——baklog里面的类容和存放的offset进行数据的回复即可。
在这里插入图片描述
注意: repl-baklog的数据结构是类似与环形的结构。
以下由两种情况,
**第一种:**从机宕机时间不长 欠的的债不多可以进行恢复,此时还是进行的增量同步。
**第二种:**从机宕机的时间很长,已经过了一圈,无法进行回复。此时只能采取全量同步。
在这里插入图片描述

避免全量同步:

在这里插入图片描述

全量&增量总结:

在这里插入图片描述

Redis 哨兵机制

由于上述的主从机制存在一些关键问题:
比如,主节点宕机了,那集群就无法进行写操作了。因为从节点只能进行读操作。由此采用哨兵机制,从从节点里面,选取一个来当主节点即可。

哨兵作用及原理:

作用:
在这里插入图片描述
监控的原理:
在这里插入图片描述
选举的原理:
在这里插入图片描述

故障的转移:
在这里插入图片描述

总结:

在这里插入图片描述

哨兵集群的搭建:

文档免费下载
浅说一下:
就是配置一下就好了,剩下的交给他自动进行选举和故障替换

与Java进行联系

引入依赖:
在这里插入图片描述
配置yaml:

spring:
  redis:
    sentinel:
      master: mymaster
      nodes:
        - 192.168.254.138:27001
        - 192.168.254.138:27002
        - 192.168.254.138:27003

注入属性:
在这里插入图片描述
测试代码:
在这里插入图片描述
测试结果:
就算主机宕机,也能正常的自动取寻找到读写操作的机器。

Redis分片集群

分片的原理:

很好理解就是,多搞几个主节点,从节点,每个主节点存放不同的数据:
在这里插入图片描述

搭建分片集群:

文档免费下载

散列插槽

就有点想hash一样,通过计算key的hash 然后取余,存放到相应的位置,到时候要取值的时候,也进行相应的操作即可。
在这里插入图片描述
这是进行定向的转发(如果分配到其他的主机上面的话)
在这里插入图片描述

散列插槽总结:

在这里插入图片描述

建议看视频,指令过多,一般很少用到分片集群

点我免费看视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值