WEBRADAR

redisのキーをまとめて削除する方法

redis-cliで取得のkeysに対しては*(ワイルドカード)が使えるので、削除する場合も良い感じの書き方があるのかと思っていたのですが、ドキュメントを眺めている限りないっぽい。
そんなredisの大量のキーをまとめてサクッと削除する方法

たとえばこんなデータがあった場合

$ redis-cli
keys key:*
1) "key:01"
2) "key:02"
3) "key:03"
4) "key:04"
5) "key:05"

xargsに引き渡す実行

$ redis-cli --raw -n 0 KEYS "key:*" | xargs redis-cli -n 0 DEL
(integer) 5

redis-cliの中で頑張らずに、xargsで投げつけてあげればよかった

ちなみに “-n” の後ろにはDB番号が入ります。