Redis课堂笔记day02

Redis课堂笔记

课堂目标

  • 能够理解Redis的主从复制jiegou
  • 能够理解Redis的Sentinel架构
  • 能够理解Redis集群架构

1. Redis的主从复制架构 44

  1. Redis可以配置主从复制结构,主节点就是Master节点,从节点就是Slave,Slave节点会不断的从Master节点同步数据
  2. 一个Master节点可以对应多个Slave节点
  3. Slave节点会向Master节点发送SYNC的请求,Master接受到SYNC请求后,做两件事:(初始化)
    1. 第一,以RDB的形式保存快照
    2. 第二,因为保存快照是比较耗时的,所以会将保存的快照期间的命令缓存下来.
    3. 当RDB保存完整后,就开始发送给Slave节点开始同步数据
    4. 一旦初始化完成,后续Master节点每接受一个命令,就会同步到Salve节点
  4. 主从复制结构的应用场景
    1. 备份容错(如果只有一个节点,会存在单点故障的问题)
    2. 读写分离(适用于读多写少的场景),如果写操作很多就得使用集群
    3. 从数据库持久化(将持久化的性能消耗转移到从节点)

1.1 另外两台服务器安装Redis 45

注意事项:

  • 如果发现虚拟机无法联网,需要检查虚拟机的NAT网络配置,NAT的网络其实类似于家里的路由器,相当于Linux服务器要和Windows宿主机进行连接,就是通过这个路由器来连接的。所以网关地址都需要配置成NAT的网络
  • 如果发现yum安装软件的时候下载速度比较慢,可以在网上搜索配置一个阿里云YUM源
  • make test是表示执行测试用例,消耗的时间会比较长,大家晚上安装的时候可以跳过。因为这个Redis包已经在CentOS7.7做过测试了,没有兼容性问题

安装主从复制主要有一条配置:

slaveof master_ip master_port

1.2 启动Redis服务区

要检查主从复制已经配置好了:
就是当启动node2.itcast.cn、node3.itcast.cn时,如果数据都已经同步过来了,就表示OK了。但往node1.itcast.cn写入数据,数据会马上同步到另外两个节点。

2. Redis中的Sentinel架构

2.1 Sentinel介绍(哨兵)

  • 哨兵主要用来保障Redis主从复制架构是高可用的,是能够自动进行节点切换的
  • 他可以监控主从复制中的节点,当主节点崩溃的时候,进行选举
    1. 2:1即认为主节点已死亡
    2. 哨兵是单独的进程,加上3个redis,集群共六个进程.在这里插入图片描述
  • 一般哨兵的配置节点不能是一个,最好是有几个主从节点,就配置几个哨兵
  • 当我们去查看操作哨兵的时候,需要指定客户端的连接端口号为26379

3Redis集群

4Redis高频面试题

4.1 缓存穿透

  • 缓存穿透指的是一些黑客发送一些数据库和缓存都不存在的key,这些的话就是穿透了缓存,也穿透了数据库,高并发的情况下,就会压垮数据库,导致系统崩溃.
  • 解决方案
    • 给非法的key也设置一些缓存,这样下一次发出请求的时候,就回直接查缓存(就怕他变着法的发)
    • 布隆过滤器(BloomFileter):布隆过滤器可以快速过滤的滤掉缓存中不存在的key或者不合法的,但是有一个问题:布隆过滤器不能准确地判断这个key是否存在

4.2 缓存击穿

  • 只透redis,目的是为了骚扰Mysql
  • 一言以蔽之:查询key,缓存过期,大量并发,频繁查询数据源(Mysql)
    在这里插入图片描述
  • 使用互斥锁去解决
  • 通过sexnx(“互斥锁”,1)
    • sexnx表示如果Key不存在的时候,才会设置一个key,如果存在就直接返回
    • 这种方式可以确保只用一个线程能进入到加载数据库的逻辑中

4.3 缓存雪崩

  • 缓存服务器中大量的key失效或者在服务器重启的时候,会出现大量并发去直接访问数据库,导致数据库的压力过大,系统崩溃
    解决办法
  • 不能让所有的key集中在某一个点失效,可以将过期的时间设置为随机
  • 不让后台系统直接操作数据库.通过消息队列来隔离商业业务和数据

4.4 缩写

常见的英文缩写
message -> msg

  1. 去重元音(a.e.i.o)
    2.去除重复的字母
  • 减少key的长度,提升Redis的效率
  • 命名以: 业务:mokuai:id…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值