多くの場合、開発者はキーに有効期限を設定するのを忘れ、redisはメモリを使い果たし始めます。新しく生成されたキーに有効期限を設定することはできますが、すでにメモリにあるキーに有効期限を設定する方法が必要です。
このコマンドは、ユーザーに一致するキーに有効期限を設定します:*
スクリプトはどのように機能しますか?
- まず、
redis-cli --scan --pattern <pattern>
を使用します キーのリストを取得するには、1行に1つのキーを使用します。 - 次に、キーごとにawkスクリプトを実行します。このawkスクリプトは少し複雑なので、分解します
- awkスクリプトにはコマンドテンプレートがあります
expire __key__ 1000
。これは、すべてのキーに対して実行されるコマンドです。 - 一致するキーごとに、awkコマンドが
__key__
を置き換えます。 実際のキーで - 次に、stringコマンドをredisプロトコル形式に変換します。これは、redisが理解する生の形式です。
- 最後に、–pipeフラグを使用してrawコマンドをredis-cliにパイプします。これは、一括コマンドをredisに送信するための最も効率的な方法です。
-
cmd_template
をカスタマイズできます パターンに一致する複数のキーに対して単一のキーredisコマンドを実行します。 - Redisスキャンではglobスタイルのパターンのみが許可され、正規表現はサポートされていません。したがって、
users:*
users:123
と一致しますusers:123:favourites
も同様です 。grep
を入力できます 最初のredis-cliの後、awkスクリプトの前のパイプラインで。 - redisサーバーがローカルホスト上にない場合は、ホスト、ポート、およびパスワードを2回提供する必要があります。 コマンドで、基本的にredis-cliを呼び出すときはいつでも。
- ハッシュ内のフィールドの名前を変更する
- スキャンを使用して複数のキーの名前を変更する
- パターンに一致するキーを削除する
- Redis用のRDBToolsGUIを使用すると、一括アクションをプレビューでき、Redisのデータを管理するための強力なGUIが提供されます。無料でダウンロードできます!