更新時(shí)間:2022-08-01 來(lái)源:黑馬程序員 瀏覽量:
1、Redis內(nèi)存不足的緩存淘汰策略提供了8種。
noeviction:當(dāng)內(nèi)存使用超過(guò)配置的時(shí)候會(huì)返回錯(cuò)誤,不會(huì)驅(qū)逐任何鍵。
allkeys-lru:加入鍵的時(shí)候,如果過(guò)限,首先通過(guò)LRU算法驅(qū)逐最久沒(méi)有使用的鍵。
volatile-lru:加入鍵的時(shí)候如果過(guò)限,首先從設(shè)置了過(guò)期時(shí)間的鍵集合中驅(qū)逐最久沒(méi)有使用的鍵。
allkeys-random:加入鍵的時(shí)候如果過(guò)限,從所有key隨機(jī)刪除。
volatile-random:加入鍵的時(shí)候如果過(guò)限,從過(guò)期鍵的集合中隨機(jī)驅(qū)逐。
volatile-ttl:從配置了過(guò)期時(shí)間的鍵中驅(qū)逐馬上就要過(guò)期的鍵。
volatile-lfu:從所有配置了過(guò)期時(shí)間的鍵中驅(qū)逐使用頻率最少的鍵。
allkeys-lfu:從所有鍵中驅(qū)逐使用頻率最少的鍵。
2、這八種大體上可以分為4中,lru、lfu、random、ttl。
lru:Least Recently Used),最近最少使用。
lfu:Least Frequently Used,最不經(jīng)常使用法。
ttl:Time To Live,生存時(shí)間。
random:隨機(jī)。
3、默認(rèn)是noeviction。對(duì)于寫請(qǐng)求不再提供服務(wù),直接返回錯(cuò)誤(DEL請(qǐng)求和部分特殊請(qǐng)求除外。
4、eviction:“逐出;趕出;收回”。
5、volatile:“不穩(wěn)定的”。