1. ホーム
  2. redis

[解決済み] Redisを使用してパターンに一致するキーをアトミックに削除する方法

2022-03-15 23:18:46

質問

私のRedis DBには、いくつかの prefix:<numeric_id> をハッシュ化します。

時々、私はそれらをすべてアトミックにパージしたいと思います。分散ロック機構を使わずにこれを行うにはどうしたらよいでしょうか?

どのように解決するのですか?

redis 2.6.0から、アトミックに実行するluaスクリプトを実行することができるようになりました。私は書いたことがありませんが、以下のような感じになると思います。

EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 prefix:[YOUR_PREFIX e.g delete_me_*]

警告 : として Redisドキュメント と言っているのは、パフォーマンス重視のためです。 keys コマンドは、実運用での通常の操作には使用しないでください。 コマンドは、デバッグや特殊な操作のために用意されたものです。 読む もっと

をご覧ください。 EVAL ドキュメント .