這篇想來記錄一下 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 | redis> SET key1 value1 |
- 回傳 1,表示設定成功
- 回傳 0,表示該 key 不存在
Command | Unit | Lookup Command | Remark |
---|---|---|---|
EXPIRE | Second | TTL | 存活秒數 |
EXPIREAT | Second | EXPIRETIME | 指定失效時間 |
PEXPIRE | MilliSecond | TTL | 存活毫秒 |
PEXPIREAT | MilliSecond | EXPIRETIME | 指定失效時間(毫秒) |