keys缺點
- 沒有offset、limit參數,不能限制查詢個數
- keys是遍歷算法,複雜度O(n),由於redis是單線程的原因,數據量大會影響其它命令的執行,導致redis卡頓
scan
- 複雜度O(n),但是scan是通過遊標分步進行,不阻塞
- 提供limit,可控制返回結果數
- 同keys一樣,提供模式匹配
- 服務器不需要爲遊標保存狀態,唯一狀態是scan返回客戶端的遊標整數
- 返回結果可能重複,需要客戶端去重
- 如果遍歷過程中有數據修改,改動後的數據不保證同步
- 單次返回結果是空的,不表示遍歷結束,而要看返回的遊標值是否爲0
作者:一個癡
鏈接:https://www.jianshu.com/p/4370bc75f5a6