正则批量获取key列表
因为redis的keys命令支持正则, 所以使用这个命令可以很方便的获取到结果
127.0.0.1:6379> keys * // 获取当前数据库所有的 key
127.0.0.1:6379> keys a* // 获取当前数据库所有以a开头的key
批量删除指定前缀key
使用 redis-cli批量删除
由于目前redis del命令还不支持正则的功能, 所以只能一个个的删除, 但有时key太多了就是想用正则删除呢, 这时可以借助于linux下的管道操作符来完成批量删除
借助于keys
命令的批量获取, 命令如下:
redis-cli keys 'page_*' | xargs redis-cli del
# 如果要设置ip, 端口, 密码, 数据库, 可以使用下面的命令, 记得keys的参数要加引号
redis-cli -h host -p port -a password -n number keys '*'
# 如
redis-cli -p 6379 -a '123456789' -n 3 keys '*'
# 其他参数可以使用 redis-cli --help 查看
使用php批量删除
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('123456789');
$keys = $redis->keys('a*');
$redis->del($keys);