Redis--過期策略

2018-10-23

三種過期策略:
定時刪除:
含義:在設(shè)置key的過期時間的同時,為該key創(chuàng)建一個定時器,讓定時器在key的過期時間來臨時,對key進行刪除
優(yōu)點:保證內(nèi)存被盡快釋放
缺點:
若過期key很多,刪除這些key會占用很多的CPU時間,在CPU時間緊張的情況下,CPU不能把所有的時間用來做要緊的事兒,還需要去花時間刪除這些key
定時器的創(chuàng)建耗時,若為每一個設(shè)置過期時間的key創(chuàng)建一個定時器(將會有大量的定時器產(chǎn)生),性能影響嚴(yán)重
沒人用


惰性刪除:
含義:key過期的時候不刪除,每次從數(shù)據(jù)庫獲取key的時候去檢查是否過期,若過期,則刪除,返回null。
優(yōu)點:
刪除操作只發(fā)生在從數(shù)據(jù)庫取出key的時候發(fā)生,而且只刪除當(dāng)前key,所以對CPU時間的占用是比較少的,而且此時的刪除是已經(jīng)到了非做不可的地步(如果此時還不刪除的話,我們就會獲取到了已經(jīng)過期的key了)
缺點:
若大量的key在超出超時時間后,很久一段時間內(nèi),都沒有被獲取過,那么可能發(fā)生內(nèi)存泄露(無用的垃圾占用了大量的內(nèi)存)


定期刪除:
含義:每隔一段時間執(zhí)行一次刪除過期key操作
優(yōu)點:
通過限制刪除操作的時長和頻率,來減少刪除操作對CPU時間的占用--處理"定時刪除"的缺點
定期刪除過期key--處理"惰性刪除"的缺點
缺點:
在內(nèi)存友好方面,不如"定時刪除"
在CPU時間友好方面,不如"惰性刪除"
難點:
合理設(shè)置刪除操作的執(zhí)行時長(每次刪除執(zhí)行多長時間)和執(zhí)行頻率(每隔多長時間做一次刪除)(這個要根據(jù)服務(wù)器運行情況來定了)
注意:
memcached只是用了惰性刪除,而redis同時使用了惰性刪除與定期刪除,這也是二者的一個不同點(可以看做是redis優(yōu)于memcached的一點)
對于惰性刪除而言,并不是只有獲取key的時候才會檢查key是否過期,在某些設(shè)置key的方法上也會檢查(eg.setnx key2 value2:該方法類似于memcached的add方法,如果設(shè)置的key2已經(jīng)存在,那么該方法返回false,什么都不做;如果設(shè)置的key2不存在,那么該方法設(shè)置緩存key2-value2。假設(shè)調(diào)用此方法的時候,發(fā)現(xiàn)redis中已經(jīng)存在了key2,但是該key2已經(jīng)過期了,如果此時不執(zhí)行刪除操作的話,setnx方法將會直接返回false,也就是說此時并沒有重新設(shè)置key2-value2成功,所以對于一定要在setnx執(zhí)行之前,對key2進行過期檢查)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、踏坑事件 時間:2017年10月23日 凌晨 背景:個人賽中用戶可以發(fā)起pk,pk即為兩個開播主播進行限時收禮...
    愛情小傻蛋閱讀 1,350評論 1 2
  • 本文對Redis的過期機制簡單的講解一下講解之前我們先拋出一個問題,我們知道很多時候服務(wù)器經(jīng)常會用到redis作為...
    小陳阿飛閱讀 1,365評論 0 0
  • 一、Redis采用的過期策略 惰性刪除+定期刪除 惰性刪除流程 在進行g(shù)et或setnx等操作時,先檢查key是否...
    晚歌歌閱讀 751評論 0 0
  • 制定Redis過期策略,是整個Redis緩存策略的關(guān)鍵之一,因為內(nèi)存來說,公司不可能無限大,所以就要對key進行一...
    JackFrost_fuzhu閱讀 4,919評論 1 10
  • 經(jīng)濟學(xué)家加里·貝克爾(Gary Becker),經(jīng)濟學(xué)帝國主義的開創(chuàng)人。1930年出生于美國,1992年獲諾貝爾經(jīng)...
    爺有蔓草閱讀 583評論 0 1

友情鏈接更多精彩內(nèi)容