嗯,分片嘛,scan要每个主节点进行一次才行,否则是无法获取到全部数据的。所以随手整理下PHP RedisCluster集群scan的姿势吧。
$r = new RedisCluster(null, ["节点1:7001","节点2:7001","节点3:7001"]);
// 循环每个节点
foreach ($r->_masters() as $master) {
$cursor = null;
while (true) {
// 每个节点分别去scan(重点)
$keys = $r->scan($it, $master, "pattern...");
if($keys === false) {
break;
}
foreach ($keys as $key) {
// code
}
}
}
参考资料
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言