2016-08-27 23 views
0

我有两个不同的键(KeyA和KeyB),它们包含一个数字列表。我想将KeyA中的列表与KeyB进行匹配,并从KeyA中的列表中获取不同的数字。可能吗?提前致谢。Redis - 如何获得两个清单之间的区别

+0

也许有趣? http://redis.io/commands/sinter –

+0

谢谢瑞安。它帮助了我。 – cbu

回答

1

没有与Redis列表相交的本机命令。你可以在服务器端的Lua脚本中做到这一点,但性能会如此如此,因为列表不会为除了它们两端之外的任何内容提供恒定的查找时间。

更好的方法是为每个列表保留一个Set,将List的元素添加到Set中。然后你可以使用集合上的所有Set操作,具体来说就是SINTER

+0

非常感谢。我会尝试一下,我会让你知道的。我认为['SINTERSTORE'](http://redis.io/commands/sinterstore)对于我想要做的事情可能是完美的。 – cbu

+0

它的工作!在我的情况下,我必须使用的函数是:[SDIFF](http://redis.io/commands/sdiff)和[SDIFFSTORE](http://redis.io/commands/sdiffstore),因为我一直在寻找2组之间的区别不是交集。非常感谢您的帮助。 – cbu