Redis的過期策略就是指當Redis中快取的key過期了,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中文網其他相關文章!