更新時(shí)間:2022-08-01 來源:黑馬程序員 瀏覽量:
1、Redis內(nèi)存不足的緩存淘汰策略提供了8種。
noeviction:當(dāng)內(nèi)存使用超過配置的時(shí)候會返回錯(cuò)誤,不會驅(qū)逐任何鍵。
allkeys-lru:加入鍵的時(shí)候,如果過限,首先通過LRU算法驅(qū)逐最久沒有使用的鍵。
volatile-lru:加入鍵的時(shí)候如果過限,首先從設(shè)置了過期時(shí)間的鍵集合中驅(qū)逐最久沒有使用的鍵。
allkeys-random:加入鍵的時(shí)候如果過限,從所有key隨機(jī)刪除。
volatile-random:加入鍵的時(shí)候如果過限,從過期鍵的集合中隨機(jī)驅(qū)逐。
volatile-ttl:從配置了過期時(shí)間的鍵中驅(qū)逐馬上就要過期的鍵。
volatile-lfu:從所有配置了過期時(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。對于寫請求不再提供服務(wù),直接返回錯(cuò)誤(DEL請求和部分特殊請求除外。
4、eviction:“逐出;趕出;收回”。
5、volatile:“不穩(wěn)定的”。