maxmemory-policy
maxmemory-policy 配置的策略
noeviction: 不刪除策略, 達到最大內存限制時, 如果需要更多內存, 直接返回錯誤信息。(默認值)
allkeys-lru: 所有key通用; 優先刪除最近最少使用(less recently used ,LRU) 的 key。
volatile-lru: 只限于設置了?expire?的部分; 優先刪除最近最少使用(less recently used ,LRU) 的 key。
allkeys-random: 所有key通用; 隨機刪除一部分 key。
volatile-random: 只限于設置了?expire?的部分; 隨機刪除一部分 key。
volatile-ttl: 只限于設置了?expire?的部分; 優先刪除剩余時間(time to live,TTL) 短的key。
redis中并不會準確的刪除所有鍵中最近最少使用的鍵,而是隨機抽取maxmeory-samples個鍵,刪除這三個鍵中最近最少使用的鍵。
過期策略
定時過期:每個設置過期時間的key都需要創建一個定時器,到過期時間就會立即清除。該策略可以立即清除過期的數據,對內存很友好;但是會占用大量的CPU資源去處理過期的數據,從而影響緩存的響應時間和吞吐量。
惰性過期:只有當訪問一個key時,才會判斷該key是否已過期,過期則清除。該策略可以最大化地節省CPU資源,卻對內存非常不友好。極端情況可能出現大量的過期key沒有再次被訪問,從而不會被清除,占用大量內存。
定期過期:每隔一定的時間,會掃描一定數量的數據庫的expires字典中一定數量的key,并清除其中已過期的key。該策略是前兩者的一個折中方案。通過調整定時掃描的時間間隔和每次掃描的限定耗時,可以在不同情況下使得CPU和內存資源達到最優的平衡效果。
Redis集群
客戶端分片
代理分片
RedisCluster
轉載于:https://www.cnblogs.com/yueerya/p/11507898.html
總結
以上是生活随笔為你收集整理的maxmemory-policy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVM寄存器模型:reg adapter
- 下一篇: chisel线网(wire)和寄存器(r