ホームページ  >  記事  >  データベース  >  Redis でコマンドを使用してキーをバッチで削除する方法

Redis でコマンドを使用してキーをバッチで削除する方法

WBOY
WBOY転載
2023-05-26 17:09:382078ブラウズ

redis には正規表現に基づいてキーを直接削除するコマンドはなく、del key1 key2... コマンドのみです。

しかし、redis には正規表現を通じてキーを取得するコマンドがあります:keys "正規表現" "

xargs コマンドを使用してキーをバッチで削除し、見つかったキーの値をパラメーターとして del

redis-cli キー "mailspec*" | xargs del

に渡すことができます。

完全なコマンド:

[root@localhost redis7001]# redis-cli -h 192.169.1.71 -p 7001 -a 123456 keys em* | xargs -r -t -n1 ./redis-cli -h 192.169.1.71 -p 7001 -a 123456 del
  • 補足 1: パラメーター -r を xargs コマンドの後に追加する必要があります。そうしないと、キーの数が 0 の場合にエラーが報告されます (エラー) ERR &lsquo ;del’ コマンドの引数の数が間違っています

  • 補足 2: パラメーター -n1 は、xargs コマンドの後に追加する必要があります。そうしないと、クラスター内のキーの数が多い場合に追加されます。 1 よりも大きい場合、エラーが報告される可能性があります (エラー) リクエスト内の CROSSSLOT キーは同じスロットにハッシュされません

  • 追加 3: -t を追加せずに -t を追加することもできます。 -t を指定すると削除内容が毎回出力されます。-t を付けないと削除内容は出力されませんが、毎回削除されるキーの数は出力されます。

拡張機能: redis のキーの一括削除

#1. すべてのキーを削除するには、redis 独自のコマンドを使用できます:

#flushdb 現在のデータベース内のすべてのキーを削除します

flushall すべてのデータベースのキーを削除します

2. Linux で xargs を使用してすべてのキーを削除します

redis-cli キー “*” | xargs redis-cli del

3.特定のキーワードを含むキーを削除します

redis-cli keys “xxx*” | xargs redis-cli del

4. パスワードを指定する必要がある場合は、次のように使用できます:

redis-cli -a pwd キー “*” | xargs redis-cli -a pwd del

以上がRedis でコマンドを使用してキーをバッチで削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。