Redis設(shè)置過期時間的實現(xiàn)示例
在使用redis作為緩存存儲值的時候,一般都是需要設(shè)置值的過期時間,否則日積月累的垃圾數(shù)據(jù)就會占用大量的內(nèi)存空間;
設(shè)置過期時間可以分開設(shè)置也可以一條語句設(shè)置
分開設(shè)置
先設(shè)置值再設(shè)置過期時間,這種方式極端情況下會出現(xiàn)問題,畢竟是非原子操作。
// 兩條命令分別設(shè)置值和過期時間 // 時間單位:秒 redis.expire("key",6); // 時間單位:毫秒 //redis.pexpire("key",6000L);
合并設(shè)置
一條命令同時設(shè)置值和過期時間,推薦使用此方式。
// 一條語句設(shè)置值和過期時間 // 時間單位:秒 redis.setex("key",6,"value"); // 時間單位:毫秒 //redis.psetex("key",6000L,"value");
一般主要包括2種處理過期方式,其中expire都是以秒為單位,pexpire都是以毫秒為單位的。
第一種
設(shè)置值的有效時間。
expire (key seconds) // 為給定 key 設(shè)置過期時間,以秒計。 pexpire (key milliseconds) // 設(shè)置 key 的過期時間以毫秒計。 setex(String key, long seconds, String value) // 建議使用原子操作設(shè)置過期時間,而不是先設(shè)置值再設(shè)置過期時間
第二種
設(shè)置值的到期時間,根據(jù)時間的時間戳設(shè)置,例如:2021年6月1號上午10點10分10秒到期,就填此時刻的時間戳
// 設(shè)置 key 過期時間的時間戳(unix timestamp) 單位:秒時間戳, // 例如:2021年6月1號上午10點10分10秒到期 timestamp=1622513410 expireat (key timestamp) // 設(shè)置 key 過期時間的時間戳(unix timestamp) 單位:毫秒時間戳 // 例如:2021年6月1號上午10點10分10秒到期 timestamp=1622513410000 pexpireat (key milliseconds-timestamp)
注:更新值會清除過期時間,如果用DEL, SET, GETSET會將key對應(yīng)存儲的值替換成新的,命令也會清除掉超時時間;如果list結(jié)構(gòu)中添加一個數(shù)據(jù)或者改變hset數(shù)據(jù)的一個字段是不會清除超時時間的;如果想要通過set去覆蓋值那就必須重新設(shè)置expire。
到此這篇關(guān)于Redis設(shè)置過期時間的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Redis 過期時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis的Hash類型及相關(guān)命令小結(jié)
edis Hash是一種數(shù)據(jù)結(jié)構(gòu),用于存儲字段和值的映射關(guān)系,本文就來介紹一下Redis的Hash類型及相關(guān)命令小結(jié),具有一定的參考價值,感興趣的可以了解一下2025-01-01redis實現(xiàn)計數(shù)器-防止刷單方法介紹
本文主要向大家介紹了redis實現(xiàn)計數(shù)器防止刷單的方法和有關(guān)代碼,具有一定參考價值,需要的朋友可以了解下。2017-11-11Redis?鍵值對(key-value)數(shù)據(jù)庫實現(xiàn)方法
Redis 的鍵值對中的 key 就是字符串對象,而 value 可以是字符串對象,也可以是集合數(shù)據(jù)類型的對象,比如 List 對象,Hash 對象、Set 對象和 Zset 對象,這篇文章主要介紹了Redis?鍵值對數(shù)據(jù)庫是怎么實現(xiàn)的,需要的朋友可以參考下2024-05-05在Centos?8.0中安裝Redis服務(wù)器的教程詳解
由于考慮到linux服務(wù)器的性能,所以經(jīng)常需要把一些中間件安裝在linux服務(wù)上,今天通過本文給大家介紹下在Centos?8.0中安裝Redis服務(wù)器的詳細過程,感興趣的朋友一起看看吧2022-03-03在CentOS 7環(huán)境下安裝Redis數(shù)據(jù)庫詳解
Redis是一個開源的、基于BSD許可證的,基于內(nèi)存的、鍵值存儲NoSQL數(shù)據(jù)本篇文章主要介紹了在CentOS 7環(huán)境下安裝Redis數(shù)據(jù)庫詳解,有興趣的可以了解一下。2016-11-11