redis 中有個設定時間過期的功能,即對儲存在 redis 資料庫中的值可以設定乙個過期時間。
作為乙個快取資料庫,這是非常實用的。
比如,一般專案中的 token 或是 cookie 資訊,尤其是簡訊驗證碼,都是有時間限制的,按照傳統的資料庫處理方式,一般都是自己判斷過期,這樣無疑會嚴重影響專案效能。
我們 set key 的時候,都可以給乙個 expire time,也就是過期時間,這樣就指定了這個 key 可以存活的時間。
假設我們設定了一批只能存活1個小時的 key,那麼1小時後,redis 是怎麼對這批 key 進行刪除的?
答案是:定期刪除 + 惰性刪除
redis的過期時間設定和過期刪除機制
redis的過期時間設定和過期刪除機制 expire 將鍵的生存時間設為 ttl 秒 pexpire 將鍵的生存時間設為 ttl 毫秒 expireat 將鍵的過期時間設為 timestamp 所指定的秒數時間戳 pexpireat 將鍵的過期時間設為 timestamp 所指定的毫秒數時間戳.二 ...
redis過期時間
在redis中,可以給乙個鍵設定過期時間,等時間到了以後,該鍵會被自動刪除。這個機制經常被用來儲存驗證碼等有一定時效性的東西,資料的有效期過了以後,就會被自動刪除以節省記憶體空間。跟過期相關的命令有三個,分別是expire persist和ttl,用法如下 來看個簡單的例子 0.1 6379 set...
redis過期時間
如果redis中沒有設定expire過期時間,那麼redis中的資料將會是永久有效的,不會被自動刪除 在不超過最大記憶體的情況下 但是redis無論有沒有設定expire,他都會遵循redis的配置好的刪除機制,在配置檔案裡設定 redis最大記憶體不足 時,資料清除策略,預設為 volatile ...