Redis HSCAN 多重匹配
Redis HSCAN Multiple Match
这是我的哈希集
HSET MySet 111222333 Tom
HSET MySet 444555666 Julia
HSET MySet 777888999 Paul
你可以把set字段想象成一个phone数字,把SET值想象成一个人的名字。
我需要获取 phone 号码中包含“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*
不直接 - Redis 进行全局样式模式匹配,但实际上并不支持。
你可以做的是使用一点 Lua 魔法来制作你自己的高效过滤,类似于此答案中的示例:
这是我的哈希集
HSET MySet 111222333 Tom
HSET MySet 444555666 Julia
HSET MySet 777888999 Paul
你可以把set字段想象成一个phone数字,把SET值想象成一个人的名字。
我需要获取 phone 号码中包含“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*
不直接 - Redis 进行全局样式模式匹配,但实际上并不支持。
你可以做的是使用一点 Lua 魔法来制作你自己的高效过滤,类似于此答案中的示例: