徐善通的随笔

千里之行, 始于足下



redis根据前缀批量获取和批量删除key的方法


正则批量获取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);

作者: 徐善通
地址: https://www.xstnet.com/article-109.html
声明: 除非本文有注明出处,否则转载请注明本文地址


我有话说



最新回复


正在加载中....

Copyrights © 2016-2019 醉丶春风 , All rights reserved. 皖ICP备15015582号-1