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:從已設置過期時間(expire)的keys中挑選最近最少使用的數據淘汰 (默認)

  2、volatile-ttl:從已設置過期時間的keys中; 優先刪除剩余時間(time to live,TTL) 短的key

  3、volatile-random:從已設置過期時間的key中任意選擇數據淘汰

  4、allkeys-lru:所有key通用; 優先刪除最近最少使用(less recently used ,LRU) 的 key。

  5、allkeys-random:所有key通用; 隨機刪除一部分 key。

  6、no eviction(禁止驅逐): 返回錯誤  

4.建議

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


免責聲明!

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



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