redis永不过期_Redis常见问题

7d499ab03f8191b1b0ae32a575b27399.png

Redis常见问题

  • 雪崩:缓存大面积同时失效,请求直接打到数据库上。(设置随机失效时间解决,或热点数据永不过期)
  • 穿透:绕过缓存数据,直接请求数据库。(设置参数校验解决,布隆过滤器)
  • 击穿:缓存击穿是指一个热点Key,在失效瞬间,直接请求到数据库上。(热点数据永不过期)

特点

  • 单线程,通过I/O多路复用模型监听多个Socket。
  • 多路I/O复用模型,非阻塞IO。
  • redis是单线程的,keys命令会导致线程阻塞,直到命令结束服务才能恢复。可以使用scan

持久化

  • RDB:RDB 持久化机制,是对 Redis 中的数据执行周期性的持久化。
  • AOF:AOF 机制对每条写入命令作为日志,以 append-only 的模式写入日志。

淘汰策略

  1. FIFO 淘汰最早数据
  2. LRU 剔除最近最少使用的数据
  • 定期删除:100ms随机抽取一些设置过期时间的key,检查过期状态,过期就删除。
  • 惰性删除:查询时检查是否过期,过期就删除。

3.LFU 剔除最近使用频率最低的数据

基础数据类型

  • String:简单缓存,缓存Session
  • Hash
  • List:有序列表,消息队列
  • Set:去重
  • Sorted Set:去重和排序

高级数据类型

  • Bitmap:位图
  • HyperLogLog
  • Geospatial
  • Pub/Sub:发布订阅
  • Pipeline:批命令

双写模式

最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern

  • 读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。
  • 更新的时候,先更新数据库,然后再删除缓存

缓存淘汰和缓存修改:区别是下次请求是否命中缓存。

Sentine选举策略

  • slave 的 priority 设置的越低,优先级越高。
  • 同等情况下,slave 复制的数据越多优先级越高。
  • 相同的条件下 runid 越小越容易被选中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值