中间件-Redis

redis持久化

RDB(默认):

RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。save(阻塞保存),bgsave (子进程保存,默认),自动化(用户配置)

AOF:

全量备份总是耗时的,有时候我们提供一种更加高效的方式AOF,工作机制很简单,redis会将每一个收到的写命令都通过write函数追加到文件中。通俗的理解就是日志记录。always(修改同步,everysec 每秒同步 no)


jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool 连接池!更新BIO模式

lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据量量,更新NIO 模式 


  • Redis 主从复制

主从复制:是指将一台Redis服务器的数据,复制到其他的Redis服务器,前者称为主节点master/leader,后者称为从节点(slave/follower),数据的复制时单向的,只能由主节点到从节点,Master为主,Slave为读为主。

默认情况下,每台Redis服务器都是主节点:一个主节点可以有多个从节点,但一个从节点只能有一个主节点

 

  • 主从复制的作用主要包括: 

1 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

2 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种鼓舞的冗余

3 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,分担服务器负载,尤其是在写少读多的场景下,

通过多个从节点分担读负载,可以大大提高Redis服务器的并发量

4 高可用基石: 主从复制是哨兵模式和集群能实施的基础

SLAVEOF host port  (主机)

SLAVEOF NO ONE()

  • 缓存穿透:

缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,特就是缓存没有命中,于是向持久层数据库查询,发现也没有,于是本次查询失败,当用户很多的时候,缓存都没有命中,于是请求了持久层的数据库,这会给持久层数据库造成很大的压力,这时候相当于除了缓存穿透(布隆过滤器,空缓存)

  • 缓存雪崩:

某个时间段内,多有的缓存同时失效

  • 缓存击穿:

一个key非常热点,在不停的扛着大大并发,大并发集中对着一个点进行访问,当这个key在失效的瞬间,持续的大并发就击穿缓存,直接请求数据库。(永不过期,加互斥锁)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值