redis php scan,php redis scan 迭代游标问题

github上有正确的示例,代码如下:

/* Without enabling Redis::SCAN_RETRY (default condition) */

$it = NULL;

do {

// Scan for some keys

$arr_keys = $redis->scan($it);

// Redis may return empty results, so protect against that

if ($arr_keys !== FALSE) {

foreach($arr_keys as $str_key) {

echo "Here is a key: $str_key\n";

}

}

} while ($it > 0);

echo "No more keys to scan!\n";

/* With Redis::SCAN_RETRY enabled */

$redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);

$it = NULL;

/* phpredis will retry the SCAN command if empty results are returned from the

server, so no empty results check is required. */

while ($arr_keys = $redis->scan($it)) {

foreach ($arr_keys as $str_key) {

echo "Here is a key: $str_key\n";

}

}

echo "No more keys to scan!\n";

Redis::OPT_SCAN的说明:

/* Options for the SCAN family of commands, indicating whether to abstract

empty results from the user. If set to SCAN_NORETRY (the default), phpredis

will just issue one SCAN command at a time, sometimes returning an empty

array of results. If set to SCAN_RETRY, phpredis will retry the scan command

until keys come back OR Redis returns an iterator of zero

*/

$redis->setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);

$redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值