查询来自多键的数据以redis排序集

时间:2014-12-01 03:47:23

标签: database algorithm redis

我有几个存储在redis中的有序集。像:

ZADD代码:1 1 1 2 2 3 3 4 4 5 5 6 6

ZADD代码:2 21 1 22 2 23 3 24 4 25 5 26 6

ZADD代码:3 31 1 32 2 33 3 34 4 35 5 36 6

这是我的问题:我希望按标记中的分数排序数据:1和标记:2,或标记:1和标记:3,或标记:1,标记:2,标记:3。这意味着我需要从不同的组合中获取数据( [ 1 ] [ 2 ] [ 3 ] [ 1,2,3 ] [ 1,2 ] < / strong> [ 2,3 ] [ ... ] )。我有数百种这种有序集合,每个有序集合可以组合到其他任何一个/两个/更多。

我有点不选择 ZUNIONSTORE ,因为所有组合都是暂时的, ZUNIONSTORE 会创建另一个新的排序集,而这个集合重用的可能性很小。那么有什么好主意可以解决我的问题,或任何新的解决方案来帮助我?提前谢谢!

1 个答案:

答案 0 :(得分:2)

尽管你不情愿,但请使用ZUNIONSTORE。一旦完成,只需删除结果。此工作流可以嵌入到执行操作并返回统一结果的Lua脚本中。