1、如果expire key 的鍵不存在,返回結果為0
127.0
.0.1
:6379
> expire not_exist_key 30
(integer)
0
127.0
.0.1
:6379
>set hello world
ok 127.0
.0.1
:6379
>expire hello-
2(integer)
1127.0
.0.1
:6379
>get hello
(nil)
3、persist命令可以將鍵的過期時間清除
127.0
.0.1
:6379
>hset key f1 v1
(integer)
1127.0
.0.1
:6379
>expire key 50
(integer)
1127.0
.0.1
:6379
>ttl key
(integer)
46127.0
.0.1
:6379
>persist key
(integer)
1127.0
.0.1
:6379
>ttl key
(integer)
-1
void
setkey
(redisdb *db, robj *key, robj *val)
else
incrrefcount
(val)
;// 去掉過期時間
removeexpire
(db,key)
;signalmodifiedkey
(db,key)
;}
舉例說明 set 命令會導致過期時間失效,因為 ttl 變為-1
127.0
.0.1
:6379
> expire hello 50
(integer)
1127.0
.0.1
:6379
> ttl hello
(integer)
46127.0
.0.1
:6379
> set hello world
ok127.0
.0.1
:6379
> ttl hello
(integer)
-1
Redis學習9 鍵過期
鍵過期 redis提供兩個命令來設定鍵的生存時間 ttl,time to live 包含以下 expire key seconds 將鍵key的生存時間設定為秒數 pexpire milliseconds 將鍵key的生存時間設定為毫秒數 如果過鍵不存在返回0,返回1表示設定成功 設定完成即開始,當...
Redis 鍵過期處理策略
redis可以給乙個key設定過期時間,當key過期以後,並不會馬上自動釋放。redis對於過期鍵的處理,分為被動刪除和主動刪除兩種方式。1.被動刪除 當客戶端訪問到乙個已經過期的鍵但尚未刪除,redis就會主動把它刪除。2.主動刪除 redis每秒會迴圈10次以下操作 隨機抽取20個具有過期時間的...
Redis 過期鍵刪除策略
當redis伺服器中的資料庫鍵超過過期時間,刪除策略主要為三種 惰性刪除 放任鍵過期不管,但是每次從鍵空間中獲取鍵時,都檢查取得的鍵是否過期,過期的話,刪除該鍵 如果沒有過期,就返回該鍵。定期刪除 每隔一段時間,程式就對資料庫進行一次檢查,刪除裡面的過期鍵。至於要刪除多少過期鍵,以及要檢查多少個資料...