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 を付けないと削除内容は出力されませんが、毎回削除されるキーの数は出力されます。
#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 サイトの他の関連記事を参照してください。