2014-11-02 20 views
1

掃描我們查詢使用掃描命令的Redis與MATCH一起,以下列方式:Sqaure括號和星號標誌在Redis的按鍵通配符字符或匹配

scan 0 MATCH "S*" 

這將找到任何開始S

然後有一個方括號語法也支持([]),其OR

scan 0 MATCH "[ef]*" 

這將找到任何東西是從ef

現在, 我期待兩者的結合。

  1. 匹配任何以e OR f
  2. 啓動和匹配任何有Sef

我想出了以下內容:

scan 0 MATCH "[ef]S*" 

但這只是不停運行沒有任何結果。是上面的正確嗎?讓我知道

回答

4

將正常運行就是 - 本地驗證:

127.0.0.1:6379> FLUSHALL 
OK 
127.0.0.1:6379> MSET a "" e "" f "" eSz "" fSx "" efg "" fgi "" SSX "" 
OK 
127.0.0.1:6379> scan 0 MATCH "[ef]S*" 
1) "0" 
2) 1) "eSz" 
    2) "fSx" 
127.0.0.1:6379> 
+0

這樣看來我是對的,它只是我的數據集是巨大的。 3800萬個按鍵,所以需要時間。 – CuriousMind 2014-11-02 15:39:52