生產環境下最好不要有keys來模糊查詢,影響效率,且可能讓服務器崩掉,可用scan代替。
//redis模糊查詢
public function dcscan($pattern, $count = 1000){
$redis = new \myredis\Datasource();
$myredis = $redis::getRedis('instance1');
$ret = [];
$iterator = 0;
while (true) {
$result = $myredis->rawCommand("scan", $iterator, 'match', $pattern, 'count', $count);
if ($result === false) {
break;
}
$ret = array_merge($ret, $result[1]);
$iterator = $result[0];
if($result[0] == 0){
break;
}
}
return $ret;
}