Redis-cliを使用してredisの特定のパターンに一致するキーを削除する方法。次のリストからすべてのfooを削除したいと思います。
KEYS *
foo:1
foo:2
bar:1
foo:3
bar:2
foo:4
質問へのコメントで述べたように、これに対する他の多くの答えがすでにここにあります。プロダクションサーバーでこれを行うことを考えている場合は、上記のリンクを必ずお読みください。
たまにコマンドラインをクリーンアップするのに最も役立つと思ったのは次のとおりです。
redis-cli KEYS "*" | xargs redis-cli DEL
コマンドラインインターフェイスユーティリティをnpmとgithubに公開しました。これを使用すると、Redisデータベースから特定のパターン(*でも)に一致するキーを削除できます。
ここでユーティリティを見つけることができます:
これらのポイントを見つけたいくつかの検索の後、パターンごとに何千ものキーを削除したかった:
-n [number]
を使用してデータベースを決定する必要がありますdel
を使用しますが、キーが数千または数百万ある場合はunlink
を使用することをお勧めします。これは、unlinkが非ブロッキングdelがブロックしている間、詳細についてはこのページにアクセスしてください nlink vs delkeys
はdelのようなもので、ブロックしていますそのため、このコードを使用して、パターンごとにキーを削除しました。
redis-cli -n 2 --scan --pattern '[your pattern]' | xargs redis-cli -n 2 unlink