Redis を使用してパターンに一致するキーをアトミックに削除する方法 質問する

Redis を使用してパターンに一致するキーをアトミックに削除する方法 質問する

私の Redis DB にはハッシュがいくつかありますprefix:<numeric_id>

すべてを自動的に消去したい場合があります。分散ロック メカニズムを使用せずにこれを行うにはどうすればよいでしょうか?

ベストアンサー1

bash で実行:

redis-cli KEYS "prefix:*" | xargs redis-cli DEL

アップデート

わかりました。現在の追加の増分プレフィックスを保存し、それをすべてのキーに追加するという方法はどうでしょうか。たとえば、次のようになります。

次のような値があります:

prefix_prefix_actuall = 2
prefix:2:1 = 4
prefix:2:2 = 10

データを消去する必要がある場合は、まず prefix_actuall を変更します (たとえば、prefix_prefix_actuall = 3 を設定します)。これにより、アプリケーションはキー prefix:3:1 と prefix:3:2 に新しいデータを書き込みます。その後、prefix:2:1 と prefix:2:2 から古い値を安全に取得し、古いキーを消去できます。

おすすめ記事