Redis キーの登録日時
Redis でキーを登録した時刻を取得するには、残念ながら直接的な方法はありません。Redis はキーの作成日時や更新日時を保存していないからです ¹。ただし、いくつかの回避策があります。
キーを登録するときに、別のキーにタイムスタンプを保存する。 例えば、
SET foo barとするときに、SET foo:timestamp 1636106362というように、キーの名前に:timestampを付けて現在の UNIX 時間を値として保存する。 この方法では、キーの数が増えるとメモリの消費量も増えることに注意が必要です。キーの値にタイムスタンプを含める。 例えば、
SET foo bar:1636106362というように、値の末尾に:と現在の UNIX 時間を付ける。 この方法では、値の取得や操作において、タイムスタンプを除去する必要があることに注意が必要です。キーに有効期限を設定する。 例えば、
EXPIRE foo 3600とすると、キーfooは 1 時間後に削除される。 このとき、TTL fooとすると、キーの残りの有効期限が秒単位で返される。 この値から、キーの登録時刻を逆算することができる。この方法では、キーが削除されると時刻を取得できなくなることに注意が必要です。
以上の方法のいずれも完璧ではありませんが、Redis でキーの登録時刻を取得するための可能な解決策として参考にしてください。
¹: Redis でキーの作成日時や更新日時を取得する方法はありますか? - スタック・オーバーフロー.
ソース: Bing との会話 2023/11/6 (1) redis-cli でよく使うコマンド 20 選 #Redis - Qiita. https://qiita.com/hatsu/items/a52817364160e0b6bb60. (2) redis-cli でよく使うコマンド 20 選 #Redis - Qiita. https://qiita.com/hatsu/items/a52817364160e0b6bb60. (3) 全データ型対応の操作 — redis 2.0.3 documentation - shibu.jp. http://redis.shibu.jp/commandreference/alldata.html. (4) 【2022 年最新版】【Redis メモ・3】キーに有効期限を付与し …. https://www.servernote.net/article.cgi?id=redis-note-3. (5) セッション管理として Redis を使用する - RAKUS Developers Blog …. https://tech-blog.rakus.co.jp/entry/2017/10/17/111828. (6) ja.wikipedia.org. https://ja.wikipedia.org/wiki/Redis.