Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 1.03 KB

redis.md

File metadata and controls

22 lines (17 loc) · 1.03 KB

Redis

  • 缓存过期

    • 每 100ms 随机扫描来删除过期数据(定期删除)
    • 每次查询前确认数据是否过期(惰性删除)
  • 缓存淘汰

    • noeviction :返回错误,不会删除任何键值
    • volatile-ttl :从设置了过期时间的键中删除剩余时间最短的键
    • allkeys-lru :使用 LRU 算法删除最近最少使用的键值
    • volatile-lru :使用 LRU 算法从设置了过期时间的键集合中删除最近最少使用的键值
    • allkeys-random :从所有 key 随机删除
    • volatile-random:从设置了过期时间的键的集合中随机删除
    • allkeys-lfu :从所有键中删除使用频率最少的键
    • volatile-lfu :从配置了过期时间的键中删除使用频率最少的键
  • 缓存穿透:对不存在数据的大量访问直接落在了数据库上

    利用布隆过滤器来确认数据是否可能存在于数据库中,若可能则查询数据库,更新布隆过滤器或刷新 KV 缓存

  • 缓存击穿:热点 key 失效

  • 缓存雪崩:大面积缓存失效