搜尋

首頁  >  問答  >  主體

redis中的資料過期後是如何處理的呢?

redis可以設置數據過期時間,如果一個數據過期是如何處理的呢?是有一個計時器實時刪除嗎?這樣太低效了。是下次使用的時候再判斷嗎?這樣隨著數據的增多,會不會判斷時間越來越長?

黄舟黄舟2799 天前680

全部回覆(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
  • 取消回覆