通過expire或pexpire命令,客戶端可以以秒或毫秒的精度為資料庫中的某個鍵設定生存時間。
與expire和pexpire命令類似,客戶端可以通過expireat和pexpireat命令,以秒或毫秒精度給資料庫中的某個鍵設定過期時間,可以理解為:讓某個鍵在某個時間點過期。
雖然時間單位或形式不同,但實際上expire、pexpire、expireat這3個命令,都是應用pexpireat命令來實現的:無論客戶端執行的是以上4個命令中的哪乙個,經過轉換之後,最終的執行效果都和執行pexpireat命令是一樣的
persist命令:移除某個鍵的過期時間,使其永久不過期
ttl和pttl命令都是通過計算鍵的過期時間和當前系統時間(毫秒時間戳)之差來給出結果的,如果是ttl還需將毫秒轉換為秒(當系統的時間修改後,也會影響ttl所返回的有效期)
返回結果:
ttl命令返回key的過期時間,一般來說有3中:
1. 當前key沒有設定過期時間(永久有效),所以會返回-1.
2. 當前key有設定過期時間,而且key已經過期,所以會返回-2.
3. 當前key有設定過期時間,且key還沒有過期,故會返回key的正常剩餘時間.
對於過期鍵的刪除策略,redis伺服器實際使用的是:惰性刪除和定時刪除2中策略。
redis 設定生存和過期時間的原理
通過expire命令或者pexpire命令,客戶端可以以秒或者毫秒精度為資料庫中的某個鍵設定生存時間,在經過指定的秒數或者毫秒數之後,伺服器就會自動刪除生存時間為0的鍵。setex命令可以在設定乙個字串鍵的同時為鍵設定過期時間 只能用於字串鍵 與expire命令和pexpire命令類似,客戶端可以通...
Redis 鍵的生存週期
變數在設定之後是一直存在的,直到使用命令清除 而有時需要變數存活一定的時間,到期後redis自動清除掉,而不是手工清理,這種情況下可以使用expire命令 expire key 時間 單位 秒 指定變數的生存週期為多少秒 ttl key 檢視變數的剩餘生存週期時間,如果變數未指定生存週期 永久存在 ...
redis中鍵的生存時間(expire)
1 redis中可以使用expire命令設定乙個鍵的生存時間,到時間後redis會自動刪除它 expire 設定生存時間 單位 秒 pexpire 設定生存時間 單位 毫秒 ttl pttl 檢視鍵的剩餘生存時間 persist 取消生存時間 expireat key unix時間戳13518586...