一、redis的key有六種過期策略 1、noeviction:一旦內存滿則返回錯誤 2、allkeys-lru:對所有的key進行LRU 3、volatile-lru:只對設置了過期的key進行LRU(默認的方式) 4、allkeys-random:隨機剔除一個key 5、volatile-random:對設置過期的key進行隨機剔
1、noeviction:一旦內存滿則返回錯誤
2、allkeys-lru:對所有的key進行LRU
3、volatile-lru:只對設置了過期的key進行LRU(默認的方式)
4、allkeys-random:隨機剔除一個key
5、volatile-random:對設置過期的key進行隨機剔除一個
6、volatile-ttl:刪除即將過期的key
根據官網的描述,redis使用的LRU并非真正的LRU算法,精確度并不高。redis3.0版本的LRU會維持一個候選池,性能會更加好。
1、設置實例的內存大小(本地執行可以不用-h $host,單位是B)
redis-cli -h $host -p $port config set maxmemory 1024
2、獲取實例的內存大小
redis-cli -h $host -p $port config get maxmemory
3、設置過期策略
redis-cli -h $host -p $port config set maxmemory-policy volatile-lru
4、查看過期策略
redis-cli -h $host -p 【本文來自鴻網互聯 (http://www.68idc.cn)】$port config get maxmemory-policy
說明:測試過volatile-lru,確實在滿了之后如果有設置了過期時間的key就會執行LRU,可以繼續插入。如果沒有設置了過期時間的key了就會報錯
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com