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

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


咨詢
建站咨詢
