zoukankan      html  css  js  c++  java
  • redis过期策略

    • redis过期策略
      • 定期删除
        • 缺省情况下,redis每隔100ms就随机选取一些设置了过期时间的key来检查,看其是否过期,如果过期了就删除。那么这里就会存在一个问题,假如redis中存在这100万个设置了超时时间的key,那么redis如果每隔这么短的时间去就检查,肯定会崩掉,所以redis才会定期抽选一些来检查。
      • 惰性删除
        • 如果定期没有抽取到已经过期的key,那么在取出这个key的时候,redis会检查,如果超时了,也会将其删除
      • 内存淘汰机制
        • 如果上面两种情况都同时没命中,那么大量过期key堆积在内存中,就导致redis内存块耗尽。所以这里就会走内存淘汰机制
          • noeviction:当内存不足以容纳新写入数据时,新写入操作会报错,很少用
          • allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key,最常用
          • llkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key,很少用
          • volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的 key
          • volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个 key
          • volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的 key 优先移除
  • 相关阅读:
    python 小爬虫
    动态规划,网易秋招
    leetcode 3
    leetcode 27 水
    leetcode 21 list merge
    leetcode 15 3sum & leetcode 18 4sum
    leetcode 389 map iterator 的使用
    [转]使用flask实现mock server
    python __str__repr__ 区别
    Robot Framework 源码阅读 day2 TestSuitBuilder
  • 原文地址:https://www.cnblogs.com/kobelieve/p/12790381.html
Copyright © 2011-2022 走看看