Redis--過(guò)期策略

2018-10-23

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


惰性刪除:
含義:key過(guò)期的時(shí)候不刪除昆婿,每次從數(shù)據(jù)庫(kù)獲取key的時(shí)候去檢查是否過(guò)期球碉,若過(guò)期,則刪除仓蛆,返回null睁冬。
優(yōu)點(diǎn):
刪除操作只發(fā)生在從數(shù)據(jù)庫(kù)取出key的時(shí)候發(fā)生,而且只刪除當(dāng)前key看疙,所以對(duì)CPU時(shí)間的占用是比較少的豆拨,而且此時(shí)的刪除是已經(jīng)到了非做不可的地步(如果此時(shí)還不刪除的話直奋,我們就會(huì)獲取到了已經(jīng)過(guò)期的key了)
缺點(diǎn):
若大量的key在超出超時(shí)時(shí)間后,很久一段時(shí)間內(nèi)施禾,都沒(méi)有被獲取過(guò)脚线,那么可能發(fā)生內(nèi)存泄露(無(wú)用的垃圾占用了大量的內(nèi)存)


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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蝗敢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子足删,更是在濱河造成了極大的恐慌寿谴,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件失受,死亡現(xiàn)場(chǎng)離奇詭異讶泰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)拂到,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)痪署,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人兄旬,你說(shuō)我怎么就攤上這事狼犯。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵辜王,是天一觀的道長(zhǎng)劈狐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)呐馆,這世上最難降的妖魔是什么肥缔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮汹来,結(jié)果婚禮上续膳,老公的妹妹穿的比我還像新娘。我一直安慰自己收班,他們只是感情好坟岔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著摔桦,像睡著了一般社付。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上邻耕,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天鸥咖,我揣著相機(jī)與錄音,去河邊找鬼兄世。 笑死啼辣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的御滩。 我是一名探鬼主播鸥拧,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼削解!你這毒婦竟也來(lái)了富弦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钠绍,失蹤者是張志新(化名)和其女友劉穎舆声,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體柳爽,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年碱屁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磷脯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娩脾,死狀恐怖赵誓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤俩功,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布幻枉,位于F島的核電站,受9級(jí)特大地震影響诡蜓,放射性物質(zhì)發(fā)生泄漏熬甫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一蔓罚、第九天 我趴在偏房一處隱蔽的房頂上張望椿肩。 院中可真熱鬧,春花似錦豺谈、人聲如沸郑象。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厂榛。三九已至,卻和暖如春丽惭,著一層夾襖步出監(jiān)牢的瞬間击奶,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工吐根, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留正歼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓拷橘,卻偏偏與公主長(zhǎng)得像局义,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子冗疮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

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