redis的hscan替换hgetall的疑问,redis返回列表获取数据示例
redis的庫簡單安裝使用參考:
C++操作Redis的簡單例子_imxiangzi的博客-CSDN博客_c++ 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
如果對你有用,點贊 收藏 再走唄!
總結
以上是生活随笔為你收集整理的redis的hscan替换hgetall的疑问,redis返回列表获取数据示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开始→运行(cmd)命令大全(绝对经典)
- 下一篇: 根据百度地图经纬度获取位置信息