首頁  >  問答  >  主體

redis中的数据过期后是如何处理的呢?

redis可以设置数据过期时间,如果一个数据过期是如何处理的呢?是有一个计时器实时删除吗?这样太低效了。是下次使用的时候再判断吗?这样随着数据的增多,会不会判断时间越来越长?

黄舟黄舟2711 天前598

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-04-21 11:20:35

    這方面你可以搜尋Redis過期策略,相關文章很多,我對Redis也只是了解和使用,並沒有深究原理。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-21 11:20:35

    這篇文章有說明:http://www.cppblog.com/richbirdandy/archive/2011/11/29/161184.html

    以上3種刪除過期key的途徑,第二種定期刪除一定比例的key是主要的刪除途徑,第一種「讀時刪除」保證過期key不會被存取到,第三種是一個當記憶體超出設定時的暴力手段。也能看出redis設計的巧妙之處,

    回覆
    0
  • 黄舟

    黄舟2017-04-21 11:20:35

    惰性刪除和定期刪除,具體解釋請查看 《Redis 設計與實現》

    回覆
    0
  • 取消回覆