redis內存淘汰策略及如何配置


參考:https://zhuanlan.zhihu.com/p/102513831

Redis內存淘汰策略

將Redis用作緩存時,如果內存空間用滿,就會自動驅逐老的數據。

為什么要使用內存淘汰策略呢?

當海量數據涌入redis,導致redis裝不下了咋辦,我們需要根據redis的內存淘汰策略,淘汰一些不那么重要的key,來滿足大量數據的存入。

Redis六種淘汰策略

  • noeviction:當內存使用達到閾值的時候,所有引起申請內存的命令會報錯。
  • allkeys-lru:在主鍵空間中,優先移除最近未使用的key。(推薦)
  • volatile-lru:在設置了過期時間的鍵空間中,優先移除最近未使用的key。
  • allkeys-random:在主鍵空間中,隨機移除某個key。
  • volatile-random:在設置了過期時間的鍵空間中,隨機移除某個key。
  • volatile-ttl:在設置了過期時間的鍵空間中,具有更早過期時間的key優先移除。

白話文翻譯

  • noeviction:當內存使用達到閾值的時候,執行命令直接報錯
  • allkeys-lru:在所有的key中,優先移除最近未使用的key。(推薦)
  • volatile-lru:在設置了過期時間的鍵空間中,優先移除最近未使用的key。
  • allkeys-random:在所有的key中,隨機移除某個key。
  • volatile-random:在設置了過期時間的鍵空間中,隨機移除某個key。
  • volatile-ttl:在設置了過期時間的鍵空間中,具有更早過期時間的key優先移除。

如何配置Redis淘汰策略

    1. 找到redis.conf文件
      在這里插入圖片描述
      設置Redis 內存大小的限制,我們可以設置maxmemory ,當數據達到限定大小后,會選擇配置的策略淘汰數據
      比如:maxmemory 300mb。

    2. 設置內存淘汰具體使用那種策略
      在這里插入圖片描述
      設置Redis的淘汰策略。比如:maxmemory-policy volatile-lru


免責聲明!

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



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