Redis 鍵
最後更新
本頁列出套件在 Redis 寫入的每個鍵、TTL 與寫入時機,方便監控與除錯。
鍵一覽
| 鍵 | 值 | TTL |
|---|---|---|
refresh:<refresh_id> |
RefreshData JSON |
refreshTokenExpires |
revoke:<access_token> |
"1" |
accessTokenExpires |
寫入時機
| 操作 | 鍵 | TTL |
|---|---|---|
CreateJWT() |
refresh:<id>,version: 1 |
refreshTokenExpires |
| 續期(未換發) | refresh:<id>,version + 1 |
重設為 refreshTokenExpires |
| 續期(換發) | 舊 refresh:<id> |
5 秒 |
| 續期(換發) | 新 refresh:<id>,version: 0 |
refreshTokenExpires |
RevokeJWT() |
refresh:<id> |
5 秒 |
RevokeJWT() |
revoke:<access_token> |
accessTokenExpires |
除錯指令
# 列出所有工作階段
redis-cli --scan --pattern 'refresh:*'
# 查看某個 Refresh ID 的內容與剩餘秒數
redis-cli GET 'refresh:<refresh_id>'
redis-cli TTL 'refresh:<refresh_id>'
# 強制讓某個工作階段失效
redis-cli DEL 'refresh:<refresh_id>'
刪除 refresh:<id> 後,該工作階段在 Access Token 過期後無法續期;未過期的 Access Token 仍可通過驗證,直到過期為止。
容量
revoke: 鍵以完整 Access Token 為名,每筆約為 Token 長度(數百位元組);登出量大時以 accessTokenExpires 控制保存時間。