keys * --獲得所有的key
keys f* --獲得f開頭的key
keys f*f --獲得f開頭,f結尾的key
此方法的缺點
沒有分頁
複雜度o(n),造成卡頓
複雜度o(n),但是通過游標分布,不會阻塞。
提供limit引數
提供模式匹配的方式
伺服器不需要儲存游標狀態,游標的唯一狀態就是scan返回給客戶端的游標整數
返回的結果可能重複,需要客戶端去重
遍歷過程中如果資料修改,改動後的資料不一定能遍歷到。
單次返回結果是空並不意味著遍歷結束,而要看返回的游標值是否為零
scan cursor match f* count 100 --會返回cursor游標和結果值。游標用來下一次比遍歷,第一次游標用傳0
在平時的業務開發中,盡量避免大key的產生
原理:scan掃瞄,得到key,判斷key型別,通過size或者len得到大小,排序。redis官方在redis-cli提供了這樣的掃瞄功能。
reis-cli -h 127.0.0.1 -p 7001 --bigkeys
如果擔心次命令造成ops提公升。可以新增休眠引數
redis-cli -h 127.0.0.1 -p 7001 -i 0.1
《Redis深度歷險》scan
redis中的keys命令可以列出滿足特定正規表示式所有的key.命令的格式為keys pattern 但是它存在倆顯著的缺點 為解決此問題,2.8版本便加入年scan指令。它有如下特點 基本用法 scan cursor match pattern count count cursor為設定的游標值...
Redis深度歷險 核心原理與應用實踐
高可用架構 的各位老鐵們,你們好!你是否還記得上個月發布的文章中,有兩篇深入講解redis的文章,分別是 挑戰kafka redis5.0重量級特性stream嘗鮮 和 10個常見的redis面試 刁難 問題 廣大粉絲讀者們對這兩篇文章整體評價頗高。而我就是這兩篇文章的原創作者 老錢 錢文品 我是來...
Redis深度歷險 核心原理與應用實踐
高可用架構 的各位老鐵們,你們好!你是否還記得上個月發布的文章中,有兩篇深入講解redis的文章,分別是和,廣大粉絲讀者們對這兩篇文章整體評價頗高。而我就是這兩篇文章的原創作者 老錢 錢文品 我是來自掌閱的服務端技術專家。上週我用了蹩腳的英語向redis作者antirez就 跳躍列表 的演算法問題向...