我已經使用分號保存了數據。使用通配符查找密鑰
redis> keys party:*
1) "party:congress:president"
2) "party:bjp:president"
3) "party:bjp"
4) "party:sena"
是否有任何命令將列出所有各方?在上例的情況下,我期望
congress
bjp
sena
我已經使用分號保存了數據。使用通配符查找密鑰
redis> keys party:*
1) "party:congress:president"
2) "party:bjp:president"
3) "party:bjp"
4) "party:sena"
是否有任何命令將列出所有各方?在上例的情況下,我期望
congress
bjp
sena
不,沒有命令來做到這一點。 但如果你真的必須在客戶端實現它,那將是微不足道的。
應用程序不應該使用KEYS命令來檢索數據。當它正在線性掃描你存儲的數百萬個密鑰時,KEYS會阻止整個Redis實例。這更多是一個應該用於管理工具的調試命令。
隨着Redis的,不存在B樹結構來索引鍵,這樣你就不能查詢鍵,除非你的密鑰存儲在現有集合中(集合,zset,等...)
我看到[這個答案](http://stackoverflow.com/a/30490869/1041046)可以通過部分密鑰進行搜索。由於我剛剛瞭解Redis,我不確定它有多準確。我想你可能需要更新你的答案以包含更多細節。 – AaA 2016-10-18 06:19:11
可以通過部分關鍵字進行搜索,除非您明確地爲此創建數據結構,否則不可能通過部分關鍵字進行有效搜索。此外,這裏的原始問題不是關於搜索,而是關於結果的操縱(這在客戶端更好)。 – 2016-10-18 08:04:50
好點,我正在尋找部分關鍵的搜索,這是谷歌的第二個結果。 – AaA 2016-10-18 09:59:04
我想如果你想從redis獲得'派對'的數據,那麼每當你保存你的常規數據時,你也可以將派對名稱保存到派對列表中,然後你可以很容易地獲得它
你可以在redis中使用SCAN命令搜索密鑰而不會阻塞整個數據庫。
這個命令有一個可選的過濾器匹配的作品很像上的按鍵命令過濾器。
redis> SCAN 0 MATCH party:*
1) <the cursor>
2) 1) "party:congress:president"
2) "party:bjp:president"
3) "party:bjp"
4) "party:sena"
保持通話,直到光標返回到0獲得各方 (可能無法得到,如果當您在掃描他們被插入的所有各方)
可用自2.8
你必須保持單獨的列表,其不貴 – 2012-01-09 02:02:32