過期時間設定
設定過期時間指的是設定一個時間在key上,使得key在這個時間之內存活,過了這個時間,則刪除該key及其對應的值;redis中一般設定過期時間,而非使用del指令消除元素;
# 一旦設定了過期時間,這個key只能被指令清除、刪除或重寫其內容。這些指令包含del、set、getset以及所有的*store指令。這些指令只能改變key對應的value的儲存值而不改變過期時間的設定。
如:使用incr改變key對應的value、使用lpush新增一個新的元素到lists中、使用hset設定field對應value的值等等,這些操作都不影響已經對key設定的過期時間的屬性。
1.透過expire指令實作:demo:expire key 10 ----->給定的key設定過期時間為10秒
2.透過setex指令實作:demo:setex key 10 value ----->設定key的值為value,存活10秒--->針對key的value為String型別;
以上兩種方式皆是針對的key,為其設定過期時間;想要對value中的某一部分資料(其他資料型別)進行過期時間的設置,則需透過其他的方式進行;
設定了過期時間的key依然可以使用persist指令重新持久化。 (PERSIST指令可以移除一個鍵的過期時間)
注意:rename指令重新命名key後,原始的key對應屬性全部發生轉移。如果key設定了過期時間,並且尚未被刪除,使用rename指令重新命名後,該過期時間將轉移到新的key上。
如果呼叫expire或pexpire時傳給一個負值作為參數以及expireat或pexpireat呼叫的時候時間戳已經過去,那麼該key將直接被刪除而不是等待過期。
刷新過期時間
對一個設定了過期時間的key仍然可以呼叫expire更新其過期時間。
傳回值
設定過期時間會傳回一個整數值;
1)如果過期時間被設定成功,返回1;
2)如果設定失敗或key不存在,則回傳0;
以上是redis過期時間設定多久合適的詳細內容。更多資訊請關注PHP中文網其他相關文章!