redis深度歷險06 key和scan

2022-01-13 06:22:48 字數 710 閱讀 4029

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就 跳躍列表 的演算法問題向...