Redis HSCAN多重比赛

时间:2015-10-12 19:17:21

标签: redis servicestack.redis

这是我有的哈希集

HSET MySet 111222333 Tom
HSET MySet 444555666 Julia
HSET MySet 777888999 Paul 

您可以将设置字段视为电话号码,将SET值视为人名。

我需要获取电话号码中包含“23”和“89”的所有记录。

可以做2个请求并将它们合并到服务器上:

HSCAN MySet 0 MATCH *23*
HSCAN MySet 0 MATCH *89*

我们可以使用一个表达式做同样的事情吗?喜欢这个

HSCAN MySet 0 Match *23* OR *89*  
OR
HSCAN MySet 0 Match *23|89*  

1 个答案:

答案 0 :(得分:2)

不直接 - Redis进行全局模式匹配,并且不支持。

你可以做的是使用一点Lua魔法来制作你自己的有效过滤,类似于这个答案中的例子:https://stackoverflow.com/a/29945372/3160475