Redis鍵過期命令使用注意事項

2021-10-08 21:36:29 字數 1421 閱讀 2525

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伺服器中的資料庫鍵超過過期時間,刪除策略主要為三種 惰性刪除 放任鍵過期不管,但是每次從鍵空間中獲取鍵時,都檢查取得的鍵是否過期,過期的話,刪除該鍵 如果沒有過期,就返回該鍵。定期刪除 每隔一段時間,程式就對資料庫進行一次檢查,刪除裡面的過期鍵。至於要刪除多少過期鍵,以及要檢查多少個資料...