千鋒教育2023版Java面試寶典Java面試200題(含美團(tuán)、字節(jié)、阿里...

一,Redis的過期策略
一般有定時(shí)過期, 惰性過期, 定期過期三種
定時(shí)過期:
對(duì)每個(gè)過期時(shí)間的key都創(chuàng)建一個(gè)定時(shí)器,到期就立刻對(duì)key進(jìn)行清除。
惰性過期:
當(dāng)我們?nèi)ピL問key的時(shí)候才會(huì)去判斷是否過期,過期就刪除。
定時(shí)過期:
定期掃描清除過期的的key
Redis同時(shí)使用惰性和定期過期
二,Redis內(nèi)存淘汰策略
volatile-lru:刪除設(shè)置了過期時(shí)間key最少訪問的key
allkey-lru:所有key刪除最少訪問的key
volatile-lfu: 刪除設(shè)置了過期時(shí)間key最近訪問頻率最少的的key
allkey-lfu: 所有的key中使用lfu算法淘汰
volatile-random:在設(shè)置過期時(shí)間的key中隨機(jī)淘汰
allkey-random: 在所有的key中隨機(jī)淘汰
volatile-ttl:內(nèi)存不足時(shí),根據(jù)過期時(shí)間淘汰,越早過期的優(yōu)先淘汰
noeviction默認(rèn),內(nèi)存不足時(shí),寫入直接報(bào)錯(cuò)
標(biāo)簽: