-
KEYSコマンドを使用してキーを検索し、それらを削除する方法:
redis-cli KEYS "prefix:*" | xargs redis-cli DEL
上記の例では、"prefix:"で始まるキーのすべてのレコードが削除されます。KEYSコマンドはワイルドカードをサポートしており、一致するキーを返します。xargsコマンドを使用することで、検索結果をDELコマンドにパイプして削除することができます。
-
SCANコマンドを使用してキーをスキャンし、一致するキーを削除する方法:
local cursor = "0" repeat local result = redis.call("SCAN", cursor, "MATCH", "prefix:*") cursor = result[1] local keys = result[2] for i, key in ipairs(keys) do redis.call("DEL", key) end until cursor == "0"
上記の例では、"prefix:"で始まるキーをスキャンして削除しています。SCANコマンドはイテレーションを行い、一致するキーを返します。削除するためにDELコマンドを使用します。
-
Luaスクリプトを使用してキーを削除する方法:
local keys = redis.call("KEYS", "prefix:*") for i, key in ipairs(keys) do redis.call("DEL", key) end
上記の例では、KEYSコマンドを使用して一致するキーを取得し、Luaスクリプト内でループを使用してキーを削除しています。
これらはRedisでキーに基づいてワイルドカードを使用してレコードを削除するための一般的な方法です。ただし、KEYSコマンドはパフォーマンスの問題があるため、大量のキーがある場合にはSCANコマンドを使用することが推奨されます。また、ワイルドカードを使用して一括で削除する場合には、注意が必要です。十分に注意して使用し、誤って重要なデータを削除しないようにしてください。