sql >> データベース >  >> NoSQL >> Redis

Redisで有効期限を複数のキーに設定する方法

    多くの場合、開発者はキーに有効期限を設定するのを忘れ、redisはメモリを使い果たし始めます。新しく生成されたキーに有効期限を設定することはできますが、すでにメモリにあるキーに有効期限を設定する方法が必要です。


    このコマンドは、ユーザーに一致するキーに有効期限を設定します:*


    スクリプトはどのように機能しますか?

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

    1. RedisのソースコードのareaとBoundingBoxの違いは何ですか

    2. キーの値を合計するRedisのLuaスクリプト

    3. WiredTigerとインプレースアップデート

    4. MongoDBで制約を適用する方法は?