0
我有一個幾百萬個鍵的redis數據庫。有時我需要通過模式查詢關鍵字,例如2016-04-28:*
我爲此使用scan
。第一個電話應該是redis掃描返回空結果,但非零遊標
scan 0 match 2016-04-28:*
然後它會返回一堆鍵和下一個光標或0,如果搜索完成。
但是,如果我運行查詢並且沒有匹配的鍵,scan
仍然返回非零遊標,但是返回一組空的鍵。這種情況不斷髮生在每個連續的查詢上,所以搜索似乎並沒有結束很長時間。
Redis的文檔說
SCAN家庭功能不保證每次調用返回的元素的數量是在給定的範圍內。 該命令還允許返回零元素,並且只要返回的遊標不爲零,客戶端就不應該考慮迭代完成。
所以我不能停下來,當我得到空套按鍵。
有沒有一種方法可以加快速度?