redis過期時間

2021-07-08 11:36:21 字數 790 閱讀 2126

在redis中,可以給乙個鍵設定過期時間,等時間到了以後,該鍵會被自動刪除。這個機制經常被用來儲存驗證碼等有一定時效性的東西,資料的有效期過了以後,就會被自動刪除以節省記憶體空間。

跟過期相關的命令有三個,分別是expire、persist和ttl,用法如下

來看個簡單的例子

.0.1:6379> set name kai

okredis 127.0

.0.1:6379> expire name

10(integer) 1

redis 127.0

.0.1:6379> ttl name

(integer) 2

redis 127.0

.0.1:6379> ttl name

(integer) -1

ttl命令的返回值如果大於0,則表示將要過期的是否,否則,表示該鍵沒有過期時間,或該鍵不存在。再看看persist的用法

.0.1:6379> set name kai

okredis 127.0

.0.1:6379> expire name

100(integer) 1

redis 127.0

.0.1:6379> persist name

(integer) 1

redis 127.0

.0.1:6379> ttl name

(integer) -1

persist name命令似的name鍵沒有過期時間了,這時再傳送ttl name命令的話,redis返回-1。

redis過期時間

如果redis中沒有設定expire過期時間,那麼redis中的資料將會是永久有效的,不會被自動刪除 在不超過最大記憶體的情況下 但是redis無論有沒有設定expire,他都會遵循redis的配置好的刪除機制,在配置檔案裡設定 redis最大記憶體不足 時,資料清除策略,預設為 volatile ...

Redis時間過期處理

目的 業務邏輯為利用usertoken為key在redis中儲存,當不操作時間超過20分鐘時,清空redis,使得使用者重新登入。redis對儲存值的過期處理實際上是針對該值的鍵 key 處理的,即時間的設定也是設定key的有效時間。expires字典儲存了所有鍵的過期時間,expires也被稱為過...

Redis 設定過期時間

redis 中有個設定時間過期的功能,即對儲存在 redis 資料庫中的值可以設定乙個過期時間。作為乙個快取資料庫,這是非常實用的。比如,一般專案中的 token 或是 cookie 資訊,尤其是簡訊驗證碼,都是有時間限制的,按照傳統的資料庫處理方式,一般都是自己判斷過期,這樣無疑會嚴重影響專案效能...