TOUCH

Redis 開発者教育の申込 Redis 定期点検/技術サポート
Redis Technical Support
Redis エンタープライズサーバー
Redis Enterprise Server

最終アクセス時刻(access time)を現在時刻に変更

使い方は touch key [type] です。
📍 type は string/list/set/zset/hash/stream のいずれかです。
      ent811 から type が追加されました。ぜひ使用してください。
最終アクセス時刻を現在時刻に変更します。   最終アクセス時刻の確認は OBJECT idletime key または DEBUG object key コマンドで確認できます。   このコマンドは Redis サーバーの最大メモリ使用ポリシー(MAXMEMORY POLICY)と関連があります。   最大メモリ使用ポリシーに関連する 6 つのパラメータのうち volatile-lru、allkeys-lru は 最終アクセス時刻が古いキーから削除する LRU(Least Recently Used) アルゴリズムでキーを削除します。   そのため特定のキーをできるだけ遅く削除したい場合は TOUCH コマンドで最終アクセス時刻を現在時刻に変更します。

Redis サーバー version 3.2.0 までは TTL key または TYPE key コマンドで最終アクセス時刻を変更できました。   しかし version 3.2.1 からはこれらのコマンドでは変更できず、最終アクセス時刻を変更する TOUCH コマンドが新たに作られました。   もちろん GET key コマンドでも 変更できますが、最終アクセス時刻を変更する目的だけで使うにはサーバーやクライアントに負荷がかかるため TOUCH コマンドを使いましょう。

存在しないキーを指定してもエラーにはせず無視します。   戻り値は touch したキーの個数です。

最大メモリ使用ポリシー(MAXMEMORY POLICY)の簡単な説明はこちらをご覧ください。

Example

コマンド>set key value
結果>1
コマンド>object idletime key string
結果>5
コマンド>touch key string
結果>1
コマンド>object idletime key string
結果>2


構文

TOUCH key [key ...] [type]

  • このコマンドは version 3.2.1 から使用できます。
  • 時間計算量は O(N) です。N はキー(key)の個数です。
  • ent811 で type を追加。
関連コマンド TTL, PTTL, TYPE
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< MIGRATE TOUCH DB >>

Email 返事がかかってなれば、メールでお知らせします。