這篇文章運(yùn)用簡單易懂的例子給大家介紹如何設(shè)置合適的redis過期時(shí)間,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、張店網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為張店等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
過期時(shí)間設(shè)置
設(shè)置過期時(shí)間指的是在key上設(shè)置一個(gè)時(shí)間,使得key在這個(gè)時(shí)間之內(nèi)存活,過了這個(gè)時(shí)間,則刪除該key及其對應(yīng)的值;redis中一般設(shè)置過期時(shí)間,而非使用del命令消除元素;
一旦設(shè)置了過期時(shí)間,這個(gè)key只能被命令清除、刪除或者重寫其內(nèi)容。這些命令包含del、set、getset以及所有的*store命令。這些命令只能改變key對應(yīng)的value的存儲(chǔ)值而不改變過期時(shí)間的設(shè)置。
如:使用incr改變key對應(yīng)的value、使用lpush添加一個(gè)新的元素到lists中、使用hset設(shè)置field對應(yīng)value的值等等,這些操作都不影響已經(jīng)對key設(shè)置的過期時(shí)間的屬性。
1.通過expire命令實(shí)現(xiàn):demo:expire key 10 ----->為給定的key設(shè)置過期時(shí)間為10秒
2.通過setex命令實(shí)現(xiàn):demo:setex key 10 value ----->設(shè)置key的值為value,存活10秒--->針對key的value為String類型;
以上兩種方式均是針對的key,為其設(shè)置過期時(shí)間;想要對value中的某一部分?jǐn)?shù)據(jù)(其他數(shù)據(jù)類型)進(jìn)行過期時(shí)間的設(shè)置,則需通過其他的方式進(jìn)行;
設(shè)置了過期時(shí)間的key依然可以使用persist命令重新持久化。(PERSIST命令可以移除一個(gè)鍵的過期時(shí)間)
注意:rename命令重命名key后,原始的key對應(yīng)屬性全部發(fā)生轉(zhuǎn)移。如果key設(shè)置了過期時(shí)間,并且尚未被刪除,使用rename命令重新命名后,該過期時(shí)間將轉(zhuǎn)移到新的key上。
如果調(diào)用expire或者pexpire時(shí)傳給一個(gè)負(fù)值作為參數(shù)以及expireat或者pexpireat調(diào)用的時(shí)候時(shí)間戳已經(jīng)過去,那么該key將直接被刪除而不是等待過期。
刷新過期時(shí)間
對一個(gè)設(shè)置了過期時(shí)間的key仍然可以調(diào)用expire更新其過期時(shí)間。
返回值
設(shè)置過期時(shí)間會(huì)返回一個(gè)整數(shù)值;
1)如果過期時(shí)間被設(shè)置成功,返回1;
2)如果設(shè)置失敗或者key不存在,則返回0;
關(guān)于如何設(shè)置合適的redis過期時(shí)間就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。