Redis時間過期處理

2021-08-20 08:26:32 字數 565 閱讀 1438

目的:業務邏輯為利用usertoken為key在redis中儲存,當不操作時間超過20分鐘時,清空redis,使得使用者重新登入。

redis對儲存值的過期處理實際上是針對該值的鍵(key)處理的,即時間的設定也是設定key的有效時間。expires字典儲存了所有鍵的過期時間,expires也被稱為過期字段。

四種處理策略

expire 將key的生存時間設定為ttl秒

pexpire 將key的生成時間設定為ttl毫秒

expireat 將key的過期時間設定為timestamp所代表的的秒數的時間戳

pexpireat 將key的過期時間設定為timestamp所代表的的毫秒數的時間戳

其實以上幾種處理方式都是根據pexpireat來實現的,設定生存時間的時候是redis內部計算好時間之後在記憶體處理的,最終的處理都會轉向pexpireat。

1、2兩種方式是設定乙個過期的時間段,就是咱們處理驗證碼最常用的策略,設定三分鐘或五分鐘後失效,把分鐘數轉換成秒或毫秒儲存到redis中。

3、4兩種方式是指定乙個過期的時間 ,比如優惠券的過期時間是某年某月某日,只是單位不一樣。

redis過期時間

在redis中,可以給乙個鍵設定過期時間,等時間到了以後,該鍵會被自動刪除。這個機制經常被用來儲存驗證碼等有一定時效性的東西,資料的有效期過了以後,就會被自動刪除以節省記憶體空間。跟過期相關的命令有三個,分別是expire persist和ttl,用法如下 來看個簡單的例子 0.1 6379 set...

redis過期時間

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

redis 過期處理

常見過期策略 1.定時刪除 不建議使用 在乙個鍵設定過期時間的同時為該鍵建立乙個定時器,時間到來的時刻刪除該鍵 優點 記憶體釋放快 缺點 大量鍵的定時器影響效能 2.惰性刪除 在對鍵程序獲取或者處理的時候驗證是否過期,過期則刪除返回null 優點 cpu占用少 缺點 大量未過期未刪除的鍵未刪除釋放記...