前言

  • Redis 3.0.504

脚本

使用lua脚本进行批量删除,windows、Linux下均适用。
lua脚本:

shell> redis-cli eval "redis.call('del', unpack(redis.call('keys','pattern')))" 0

使用时,替换pattern。

实例

添加测试数据

127.0.0.1:6379> SET key1:key1.1:a redis
127.0.0.1:6379> SET key1:key1.2:a redis
127.0.0.1:6379> SET key1:key1.3:a redis
127.0.0.1:6379> SET key1:key2.1:a redis
127.0.0.1:6379> SET key1:key2.2:a redis
127.0.0.1:6379> SET key1:key2.3:a redis

检查测试数据

127.0.0.1:6379> keys *
1) "key2:key1.2:a"
2) "key1:key1.1:a"
3) "key2:key1.1:a"
4) "key2:key1.3:a"
5) "key1:key1.2:a"
6) "key1:key1.3:a"

批量删除

shell> redis-cli eval "redis.call('del', unpack(redis.call('keys','key2:*')))" 0

注意,此时使用的是操作系统的shell,而非redis的shell。

检查测试数据

127.0.0.1:6379> keys *
1) "key1:key1.1:a"
2) "key1:key1.2:a"
3) "key1:key1.3:a"