sorting - 根据他们在 Redis 上的分数对 2(或 N)排序集进行范围搜索的最佳解决方案

标签 sorting optimization redis

我有一些索引(排序集)包含以时间戳作为分数排序的键名,这些索引用于搜索目的,例如一个索引苹果和一个索引红色,苹果包含引用苹果的所有键名和红色所有引用的键一个红色的东西。

所有这些都是根据创建主键的时间戳排序的,所以我想用它进行搜索。

对于一个字段,这不是问题,例如,我在苹果上执行 zrange 分页以使所有苹果都在按日期排序的分页范围内,但我的问题是当我想合并 2 个字段时。

例如,如果想要所有的红苹果,我肯定可以做到,但我必须使用 zunionstore 和 zrange(太长)或获取所有 2 索引以执行基于日期的过滤器,并且我搜索最快的解决方案这样做。

感谢您的阅读:)

最佳答案

您描述的方法 - ZUNIONSTORE 后跟 ZRANGE 是 Redis 核心中最有效的方法。或者,您可以使用 RediSearch以获得更强大的索引和搜索能力。

关于sorting - 根据他们在 Redis 上的分数对 2(或 N)排序集进行范围搜索的最佳解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47334218/

相关文章:

redis - 如何获取redis哈希中的值计数?

php - MySQL 字母数字值的自然排序

javascript - 使用 Javascript 对数值数组的数组进行排序

python - 用于字符串重复搜索的python代码的优化

mysql - 有人关心帮助优化 MySQL 查询吗?

python - Django 模型不会保存到 Celery Task 中的数据库中

java - 带两个参数排序的min Heap的实现[Java]

c++ - 多个排序数组的交集

MySQL左连接优化

Redis > 隔离具有大值的键?