database - 从redis中的多键排序集中查询数据

标签 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

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

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

最佳答案

尽管您不情愿,但还是使用 ZUNIONSTORE 吧。完成后,只需 DEL 结果即可。此工作流可以嵌入到执行操作并返回统一结果的 Lua 脚本中。

关于database - 从redis中的多键排序集中查询数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27221408/

相关文章:

mysql - 我应该把它分成一个字段还是mysql中的多个字段?

Redis key 在过期时间后未被删除

php - Hostgator远程访问本地php文件中的数据库

database - django null 和空字符串

algorithm - 如何在文本文件中找到 N 最长的行并将它们打印到标准输出?

c++ - 查找给定圆中正方形数的算法

在排序数组 A 中查找 K 的秩的算法

Laravel 5.4,什么是电子商务网站的最佳 session 驱动程序

python - Spark 流作业性能改进

mysql - MySQL 在做什么??启动时磁盘利用率为 100%