redis的hscan命令

redis的hscan命令:
redis版本>=3.2.1(hscan对版本有限制,至于限制到多少没有亲测,网上有帖子说是>=3.2)
当一个Hash中的field数量少时,hscan分页功能将不生效,自测field的数量达到513的时候才开始分页获取。
其他都是一次性获取全部;

$redis = new \Redis();
        $redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_RETRY);//此代码可有可无,不写了就要用php逻辑去规避他,因为hscan会返回[]数组
        $it = NULL;
        $pattern = '*';
        $count = 10;
        $key = 'test_test_test_test';
//下面这种写法就可以不写上面那个setOption
        while (true) {
            $keys_arr = $redis->hScan($key, $it, $pattern, $count);
            if($keys_arr === false){
                break;
            }
            echo "<pre>";
            print_r($keys_arr);
            echo "----------------------------------------";
        }

  

posted on 2019-07-05 14:55  泪滴  阅读(11528)  评论(0编辑  收藏  举报