Redis中的keys和Hkeys的區別

2021-10-05 19:02:15 字數 941 閱讀 5585

3、hkeys

keys和hkeys最根本的區別就是操作的物件不同

keys pattern

查詢符合給定模式的key。

keys 命中資料庫中所有key。

keys h?llo命中hello, hallo and hxllo等。

keys hllo命中hllo和heeeeello等。

keys h[ae]llo命中hello和hallo,但不命中hillo。

keys h[a-z]llo

keys hello[0-9]

特殊符號用」\」隔開

o(n),n為資料庫中key的總數量

符合給定模式的key列表。

keys的時間複雜度是o(n),在執行此命令的時候redis會鎖定,花費的時間較長。

由於redis的單執行緒性質,會導致後續提交給redis命令都阻塞在佇列中,redis伺服器cpu增高。

許多客戶端發出的redis命令長時間得不到響應,進一步影響業務甚至引起系統的雪崩效應。

在業內有一條鐵律:禁止在生產環境使用keys正則匹配操作(實際即便是開發、測試環境也要慎重使用)

hkeys key

返回單個雜湊表key中的所有域。

o(n),n為雜湊表的大小。

乙個包含雜湊表中所有域的表。

當key不存在時,返回乙個空表。

當key存在,但是型別不是hash型別的時候,則丟擲異常

redis中keys和scan的對比

redis中keys和scan的對比 兩者都是用來返回key的,但是使用場景和方法不同。一 keys keys pattern 比如 keys keys user info 特點 1 在選定的庫中,一次性全部返回符合條件的key,如果資料量很大將會等待很久,因此,只適合用在可控的量小的鍵查詢,比如幾...

redis的keys的通用操作

獲得所有的keys keys 模糊查詢keys keys my?查詢以my開頭的 刪除keys del my1 my2 my3 檢視存在的keys exists my1 重新命名get company 獲得某個鍵的名字 rename company newcompany 將company這個鍵的名字...

Redis中keys命令的使用與帶來的效能問題

進入redis cli之後,我們通常比較關心的是有哪些key ps 當然也可以用其他客戶端工具 那麼就不得不說keys命令 keys pattern獲取當前庫下的所有key keys 如下圖所示,存在四個key redis01 redis11 hbase01 hbase11 keys支援一下3種型別...