首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REDIS中的管道集合运算

REDIS中的管道集合运算
EN

Stack Overflow用户
提问于 2012-09-23 04:29:58
回答 2查看 732关注 0票数 2

可以使用管道在redis中计算多集运算吗

(a并集b并集c)相交(d并集c)太阳离子a b c烧结d c

EN

回答 2

Stack Overflow用户

发布于 2012-09-23 08:09:49

不会,因为在管道中,您只能在发送了整个命令集之后才能获得结果(请参阅documentation),因此,正如您可能猜到的那样,您需要在示例中分别获取每个嵌套操作的结果。

然而,使用redis 2.6中内置的脚本功能和一些lua可以实现一些非常类似的功能,听起来似乎可以满足您的要求:

代码语言:javascript
复制
EVAL "return redis.call('sinter', redis.call('sunion', 'a', redis.call('sunion', 'b', 'c')), redis.call('sunion', 'd', 'c'))"

上面的代码是一个简化的代码,它未经测试,但它应该让您大致了解什么是可能的。有关documentation here的更多信息。

票数 3
EN

Stack Overflow用户

发布于 2012-09-26 18:10:54

不能,但您可以使用事务(多个)

代码语言:javascript
复制
MULTI
SUNIONSTORE abc a b c
SUNIONSTORE cd c d
SINTERSTORE i abc cd 
SMEMBERS i
DEL abc cd i
EXEC

另外,似乎你不需要使用c,因为它的所有成员都将被放在i

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12547467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档