/**
* getKeysByPattern function
* @Description
* 模糊匹配redis 的key 之后删除
* @param $pattern
* @author: Dai
* @date 2022/4/11 17:11
*/
public function getKeysByPattern($pattern,$isDelete = 0)
{
//该方法可以获取到原生的redis对象,可以使用原生的
$resdis = Cache::store('redis')->handler();
$iterator = null;
//$pattern = "*_EFALOGIN";
$keysList = [];
while(true){
$keys = $resdis->scan($iterator, $pattern,1000);
$keysList = array_merge($keysList, $keys??[]);
if ($iterator === 0) {//迭代结束,未找到匹配pattern的key
break;
}
if ($iterator === null) {//"游标为null了,重置为0,继续扫描"
$iterator = "0";
}
}
$keysList = array_unique($keysList);
if($isDelete == 1){
foreach ($keysList as $item) {
$result = $resdis->del($item);
}
}
return $keysList;
}
(文章今日已有 1 人访问,总访问量 52 ::>_<::)