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