方括号&星号在Redis键中标记为WildCards字符或使用匹配进行扫描

时间:2014-11-02 14:21:05

标签: regex redis nosql

我们使用SCAN命令和MATCH以下列方式查询redis:

scan 0 MATCH "S*"

这将找到以S

开头的任何内容

然后还支持方括号语法([]OR

scan 0 MATCH "[ef]*"

这将找到以ef

开头的任何内容

现在, 我期待两者的结合。

  1. 匹配以ef
  2. 开头的所有内容
  3. 并匹配Se
  4. 之后f的所有内容

    我想出了以下内容:

    scan 0 MATCH "[ef]S*"
    

    但这只是继续运行而没有任何结果。是上面的正确吗?让我知道

1 个答案:

答案 0 :(得分: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>