新聞中心
Redis作為一種K-V型存儲(chǔ)引擎,擁有快速的存儲(chǔ)和讀取數(shù)據(jù)的能力,具有很好的性能優(yōu)勢(shì)和極具靈活性,而其中涉及到的過(guò)期數(shù)據(jù)問(wèn)題也一直備受關(guān)注,本文旨在簡(jiǎn)單介紹下Redis中過(guò)期策略及規(guī)則。

創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營(yíng)銷推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)成都柴油發(fā)電機(jī)等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
Redis中存在兩種過(guò)期策略——自動(dòng)刪除和懶惰刪除。前者在寫入數(shù)據(jù)時(shí)就指定TTL,而后者每次讀取或更新數(shù)據(jù)時(shí),需要檢測(cè)過(guò)期時(shí)間,若當(dāng)前時(shí)間比過(guò)期時(shí)間晚多少被視為過(guò)期,將被自動(dòng)刪除。
Redis中一般采用延遲刪除的方式,即定時(shí)檢測(cè)過(guò)期的KEY,并進(jìn)行處理。其具體的實(shí)現(xiàn)方式是每隔一段時(shí)間,它會(huì)統(tǒng)計(jì)出需要處理的key的個(gè)數(shù),這也是引入延遲刪除的考慮之一,可以允許程序更多的處理時(shí)間。
Redis中還存在刪除策略,具體可分為設(shè)置key過(guò)期策略、定時(shí)檢測(cè)和處理過(guò)期key、設(shè)置過(guò)期回收策略等三種。
1、指定Key過(guò)期策略
Redis為允許開(kāi)發(fā)者指定Key過(guò)期策略提供了SETEX、SETNX、PSETEX這三種命令。其中SETEX可指定某個(gè)key在指定時(shí)間后過(guò)期,而SETNX則可指定某個(gè)key只在它不已存在時(shí)才被設(shè)置,也就是允許在指定的時(shí)間內(nèi)防止新的值被寫入;PSETEX與SETEX類似,只是TTL的單位由秒改為毫秒。
2、定時(shí)檢測(cè)和處理過(guò)期Key
Redis默認(rèn)每隔一分鐘,會(huì)啟動(dòng)一次此操作,它會(huì)統(tǒng)計(jì)出需要處理的key的個(gè)數(shù),每次處理至多100條記錄,這也是引入延遲刪除的考慮之一,可以允許程序更多的處理時(shí)間。
3、設(shè)置過(guò)期回收「TTL」策略
Redis還支持TTL值為負(fù)數(shù),當(dāng)檢測(cè)到回收超時(shí)Key時(shí),Redis會(huì)立即進(jìn)行回收,而不是等待定時(shí)器運(yùn)行時(shí)間的到來(lái)。
綜上所述,Redis的過(guò)期策略及規(guī)則非常完善,值得開(kāi)發(fā)者充分利用。代碼示例如下:
// 設(shè)置某個(gè)key過(guò)期時(shí)間為30秒
$redis->setex(‘name’,30, ‘Redis’);
// 獲取key的TTL(以秒為單位)
$ttl=$redis->ttl(‘name’);
// 判斷key是否存在
if($redis->exists(‘name’)){
$redis->delete(‘name’);
}
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專注四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,可選線路電信、移動(dòng)、聯(lián)通等。
網(wǎng)站題目:Redis中數(shù)據(jù)的過(guò)期策略及規(guī)則(redis過(guò)期規(guī)則)
新聞來(lái)源:http://m.fisionsoft.com.cn/article/djiooeo.html


咨詢
建站咨詢
