redis的库简单安装使用参考:
以上为使用前了解信息,下面为正题内容;
在hash表中通过hgetall方法获取全部的key和value害怕之后影响效率!
想要通过hscan来通过游标分页获取,恭喜你,想的是对的,但是通过实测每次hscan给的数量和游标都没有效果,返回全部的数据!
这里通过查询得知,当hash表的数据小于一定量的时候(1023条,不一定正确),hscan模式返回的是全部数据的,返回的游标也是0;
想要预留的的话,可通过判断返回值的游标、返回type、返回数量来做自己的定制处理;
当返回游标为0时候,表示已经返回完数据了,type表REDIS_REPLY_ARRAY,表示返回的可以通过list获取数据,然后通过返回数据来控制下标获取数据即可!
c++示例:代码仅为参考,可能有误
if(REDIS_REPLY_ARRAY != this->_reply->type &&
2 == this->_reply->elements &&
this->_reply->element[1]->elements > 1) {
str_rt = this->_reply->element[1]->element[1]->str;
}
返回游标位置:this->_reply->element[0-->str
返回数据长度:this->_reply->element[1]->elements
获取key的字符串:this->_reply->element[1]-->str
获取value的字符串:this->_reply->element[1]->element[1]->str
如果对你有用,点赞 收藏 再走呗!