php 删除redis中通配符的key

发表于 2021-04-13  1.6k 次阅读


场景:

删除redis中3月份每日统计的数据,数据记录的key是 date:年-月-日 ,删除3月份的key 应该是 date:2021-3-*

梳理

删除redis指定key的数据可以使用 del 方法,但这个方法只能删除指定key,无法删除带有通配符的,可以先查询除redis中存在匹配的key,可以使用 keys 方法,查出来后再去循环调用 del

使用

$redis = new Redis();
$keys = $redis->keys("date:2021-3-*");
if (empty($keys)) {
    return;
}
foreach ($keys as $key) {
    $redis->del($key);
}
return;

如果是命令行,可以借助通道完成

redis-cli keys "date:2021-3-*" | xargs redis-cli del
本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

一盏灯 一座城 找一人 一路的颠沛流离