首頁 >資料庫 >Redis >redis過期策略是指什麼

redis過期策略是指什麼

hzc
hzc原創
2020-06-28 14:31:083549瀏覽

Redis的過期策略就是指當Redis中快取的key過期了,Redis應該如何處理,一般有定時過期,惰性過期,定期過期這三種處理方式。

redis過期策略是指什麼

Redis的過期策略就是指當Redis中快取的key過期了,Redis如何處理。

  • 定時過期:每個設定過期時間的key都需要建立一個計時器,到過期時間就會立即清除。此策略可以立即清除過期的數據,對記憶體很友善;但是會佔用大量的CPU資源去處理過期的數據,從而影響快取的回應時間和吞吐量。

  • 惰性過期:只有當存取一個key時,才會判斷該key是否已過期,過期則清除。此策略可以最大化地節省CPU資源,卻對記憶體非常不友善。極端情況可能出現大量的過期key沒有再次被訪問,從而不會被清除,佔用大量內存。

  • 定期過期:每隔一定的時間,會掃描一定數量的資料庫的expires字典中一定數量的key,並清除其中已過期的key。該策略是前兩者的一個折衷方案。透過調整定時掃描的時間間隔和每次掃描的限定耗時,可以在不同情況下使得CPU和記憶體資源達到最優的平衡效果。

(expires字典會保存所有設定了過期時間的key的過期時間數據,其中,key是指向鍵空間中的某個鍵的指針,value是該鍵的毫秒精度的UNIX時間戳表示的過期時間。鍵空間是指該Redis叢集中保存的所有鍵。)

Redis中同時使用了惰性過期和定期過期兩種過期策略。

推薦教學: 《Redis教學

以上是redis過期策略是指什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn