redis數據淘汰策略(轉)


 

1、淘汰簡介

Redis官方給的警告,當內存不足時,Redis會根據配置的緩存策略淘汰部分keys,以保證寫入成功。當無淘汰策略時或沒有找到適合淘汰的key時,Redis直接返回out of memory錯誤。

 

2、最大緩存配置

在redis中,允許用戶設置的最大使用內存大小是  512G。

在 redis 中,允許用戶設置最大使用內存大小 server.maxmemory,在內存限定的情況下是很有用的。譬如,在一台 8G 機子上部署了 4 個 redis 服務點,每一個服務點分配 1.5G 的內存大小,減少內存緊張的情況,由此獲取更為穩健的服務。

3、6種數據淘汰策略

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

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

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

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

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

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

 

4、建議

     了解了Redis的淘汰策略之后,在平時使用時應盡量主動設置/更新key的expire時間,主動剔除不活躍的舊數據,有助於提升查詢性能。

      Redis過期數據淘汰是指將鍵值對都刪除掉,請了解!!!!!!!!!!!!!


免責聲明!

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



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