Redis Expire 相關指令

這篇想來記錄一下 Redis expire 相關指令的用法與意義,有時候時間一長就忘了,自我救助金魚腦。比較深入的 TTL 機制就放到後面再說..

EXPIRE

  • 精確度為 Second(秒級)
  • 替 key 設定存活時間,設定後就無法更改。此失效時間為 TTL (Time to live),單位是秒,也就是還能存活幾秒的意思
  • 可以使用 persist 指令移除失效時間
  • 官方宣稱 2.6 版後的誤差會在 1 ms 內,但我想還是要看當時的忙碌程度。
  • 回傳 1,表示設定成功
  • 回傳 0,表示該 key 不存在

相關指令:

  • TTL (查詢剩餘存活時間)
  • PEXPIRE (精確度為 Millisecond)

EXPIREAT

  • 精確度為 Second(秒級)
  • 替 key 設定失效時間,設定後就無法更改。此時間為 Unix timestamp,時間到了通常會在1秒內被刪除

相關指令:

  • EXPIRETIME (查詢剩餘存活時間)
  • PEXPIRETIME (精確度為 Millisecond)
1
2
3
4
5
6
7
redis> SET key1 value1
"OK"
redis> EXPIREAT key1 1627885364
(integer) 1
redis> EXPIREAT key1 1627885364
(integer) 0
redis>
  • 回傳 1,表示設定成功
  • 回傳 0,表示該 key 不存在

Command Unit Lookup Command Remark
EXPIRE Second TTL 存活秒數
EXPIREAT Second EXPIRETIME 指定失效時間
PEXPIRE MilliSecond TTL 存活毫秒
PEXPIREAT MilliSecond EXPIRETIME 指定失效時間(毫秒)
  • 作者: MingYi Chou
  • 版權聲明: 轉載不用問,但請註明出處!本網誌均採用 BY-NC-SA 許可協議。