Redisのキーをパターンでクリアする方法


  1. KEYSコマンドを使用する方法: KEYSコマンドは、指定したパターンに一致するすべてのキーを取得します。これを使用してキーを取得し、DELコマンドを使用してキーを削除することができます。

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    keys = r.keys("pattern*")
    for key in keys:
       r.delete(key)
  2. SCANコマンドを使用する方法: SCANコマンドは、パターンに一致するキーをイテレーションしながら取得するための非常に効率的な方法です。この方法は、大量のキーを持つ場合に特に有用です。

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    cursor, keys = r.scan(match="pattern*", count=1000)
    for key in keys:
       r.delete(key)
  3. Luaスクリプトを使用する方法: Redisは、Luaスクリプトの実行をサポートしており、これを使用してパターンに一致するキーをクリアすることもできます。

    import redis
    r = redis.Redis(host='localhost', port=6379, db=0)
    script = """
    local keys = redis.call('keys', ARGV[1])
    for i=1,#keys do
       redis.call('del', keys[i])
    end
    """
    r.eval(script, 0, "pattern*")

これらの方法を使用することで、Redisのキーをパターンでクリアすることができます。適切な方法を選択し、パターンに一致するキーを効率的に削除してください。