新聞中心
Redis是一種基于內(nèi)存的高性能及高可擴(kuò)展性的KEY-value數(shù)據(jù)儲存集群,其支持?jǐn)?shù)據(jù)類型包括 string, hash, list, set. 之中它具有非常獨(dú)特的特性,就是允許在set 或它的子集成員中按照給定值或時間設(shè)置數(shù)據(jù)過期。一旦超時,Redis可以自動清理掉過期的key-value數(shù)據(jù)。

在Redis中,可以通過命令EXPIRE來設(shè)置key的過期時間,命令格式為:EXPIRE key seconds,參數(shù)seconds為設(shè)定的key的過期時間,單位為秒。例如:
SET key value
EXPIRE key 30
上面的代碼相當(dāng)于設(shè)置key為value的值,并且設(shè)置該key的過期時間為30秒。
當(dāng)設(shè)置的超時的key的過期時間到達(dá)時,Redis會遍歷整個key space,然后清理過期的key-value。采用惰性機(jī)制,也就是說,在服務(wù)時會做檢查,檢查出那些已經(jīng)超時的key進(jìn)行清理,而不是在每次訪問時檢查。
此外,Redis還支持另一種過期機(jī)制,那就是設(shè)置定期執(zhí)行Deleting Keys with a time to live命令,比如:
SET key value
EXPIREAT key 1510999200
上面的代碼中,設(shè)置key的過期時間為1510999200,這個時間是Unix時間戳,換算成距離現(xiàn)在的時間為2017.11.18下午1點(diǎn)整。這個命令不會每次執(zhí)行,它只會在指定的時間后清理掉這個key-value數(shù)據(jù)。
因此,Redis采用惰性機(jī)制進(jìn)行超時數(shù)據(jù)清理,以及定期執(zhí)行Deleting Keys with a time to live命令,兩者一起形成一種有效的數(shù)據(jù)過期機(jī)制,以保證Redis存儲效率。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機(jī)房服務(wù)器托管租用。
文章標(biāo)題:Redis過期數(shù)據(jù)自動被刪除(redis過期了會刪除)
文章出自:http://m.5511xx.com/article/djdpejp.html


咨詢
建站咨詢
