Redis 的回收策略(淘汰策略)?


volatile-lru:從已設置過期時間的數據集(server.db[i].expires)中挑選最近最

少使用的數據淘汰

volatile-ttl:從已設置過期時間的數據集(server.db[i].expires)中挑選將要過

期的數據淘汰

volatile-random:從已設置過期時間的數據集(server.db[i].expires)中任意

選擇數據淘汰

allkeys-lru:從數據集(server.db[i].dict)中挑選最近最少使用的數據淘汰

allkeys-random:從數據集(server.db[i].dict)中任意選擇數據淘汰

no-enviction(驅逐):禁止驅逐數據

注意這里的 6 種機制,volatile 和 allkeys 規定了是對已設置過期時間的數據集淘

汰數據還是從全部數據集淘汰數據,后面的 lru、ttl 以及 random 是三種不同的

淘汰策略,再加上一種 no-enviction 永不回收的策略。

使用策略規則:

1、如果數據呈現冪律分布,也就是一部分數據訪問頻率高,一部分數據訪問頻率

低,則使用 allkeys-lru

2、如果數據呈現平等分布,也就是所有的數據訪問頻率都相同,則使用

allkeys-random


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM