linux环境
在linux环境下使用redis-cli命令行批量删除redis中keys的命令是
redis-cli keys "*"| xargs redis-cli del
windows环境
由于 windows下 不存在xargs命令,因此可以考虑使用redis-cli
的eval
命令执行Lua脚本,以实现批量删除。
这种方法也可以避免在大量keys时遇到的性能问题:
redis-cli eval "local keys = redis.call('keys', ARGV[1]) for i=1,#keys,5000 do redis.call('del', unpack(keys, i, math.min(i+4999, #keys))) end return #keys" 0 'pattern*'
把上述命令的最后pattern* 改成实际keys的前缀即可。
如果是要连接远程的redis服务器,那么可以先通过redis-cli命令连接上远程服务器
redis-cli -h ip地址 -p 端口号 -a 密码 -n 数据库号
然后在redis-cli命令行中,执行
eval "local keys = redis.call('keys', ARGV[1]) for i=1,#keys,5000 do redis.call('del', unpack(keys, i, math.min(i+4999, #keys))) end return #keys" 0 'pattern*'
这样可以批量删除。