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

Redisで特殊文字を含む数十万のキーを一括削​​除する方法

    これが私がそれを解決した方法です。これは、redisを強調することなく、何百万ものレコードに対して機能します。

    WARNING: PLEASE DO NOT TRY THIS AT HOME UNATTENDED AND MAKE SURE TO WEAR 
    ALL SAFETY EQUIPMENT NECESSARY FOR THE TASK.
    

    ステップ1。 必要なすべてのキーをredisからファイルにダンプし、このファイルをYES_WE_CAN.shと呼びましょう

    redis-cli KEYS "StartsWith*" > YES_WE_CAN.sh
    

    ステップ2: viまたはvimでファイルYES_WE_CAN.shを開き、:を押します。 文字を入力し、次のように入力して特殊文字'を置き換えます :

    :%s/'/'"'"'/g
    

    これにより、すべての'が置き換えられます '"'"'の文字 エスケープシーケンス。 (私を信じてください、これはうまくいきます、続けてください!)

    ステップ3: 各文字列の前にredis-cli DEL (最後のスペースを忘れないでください):

    :%s/^/redis-cli DEL /g
    

    ステップ4: 各行の最後に'を追加します キャラクター:

    :%s/$/'/g
    

    ステップ5: ファイルを保存し、:wqを使用して終了します

    ステップ6: ファイルYES_WE_CAN.shを変更します 実行可能モードへ:

    chmod +x YES_WE_CAN.sh
    

    ステップ7: ファイルを実行します:

    ./YES_WE_CAN.sh
    

    スクリプトが要求した何百万ものキーを削除している間、コーヒーを楽しんでください。



    1. PouchDBとMongoDBの使用

    2. sslを介してセロリからredisに接続した後、応答がありません

    3. MongoDBデフォルトのユーザーとパスワードは何ですか?

    4. MongoDB集約パイプラインは、最初の一致ステップ後に遅くなります