按日期查询Redis中的哈希
Query Hashes in Redis by date
保存在 Redis 中的模型包含两个日期字段 - 开始日期和结束日期。我已将所有数据插入哈希中。超过10K。
如何使用两个日期字段作为参数进行有效查询。现在我从数据库中获取所有哈希值,反序列化它们并查询结果。效率不高,但可以用于测试。想知道如何以最好的方式实现这一目标。
谢谢
Redis 未设计为可查询。您需要按照应用层稍后要求的方式存储数据。
例如,如果您想按 开始日期 升序排列模型,则需要将模型的标识符存储在排序集 提供 startdate 作为整数,它将用作排序集项 score.
如果您想获得具有更复杂标准的模型,您需要绞尽脑汁计算基于多个模型的分数 属性 以将它们存储在其他排序集中。
稍后,您将能够获取这些有序标识符的范围(zrange
、zrevrange
...),将它们传递给 hmget
命令,该命令将获取所有给定标识符的值。
您需要将 Redis 视为索引中的索引。它是关于索引您的数据以有效地检索它。
保存在 Redis 中的模型包含两个日期字段 - 开始日期和结束日期。我已将所有数据插入哈希中。超过10K。 如何使用两个日期字段作为参数进行有效查询。现在我从数据库中获取所有哈希值,反序列化它们并查询结果。效率不高,但可以用于测试。想知道如何以最好的方式实现这一目标。 谢谢
Redis 未设计为可查询。您需要按照应用层稍后要求的方式存储数据。
例如,如果您想按 开始日期 升序排列模型,则需要将模型的标识符存储在排序集 提供 startdate 作为整数,它将用作排序集项 score.
如果您想获得具有更复杂标准的模型,您需要绞尽脑汁计算基于多个模型的分数 属性 以将它们存储在其他排序集中。
稍后,您将能够获取这些有序标识符的范围(zrange
、zrevrange
...),将它们传递给 hmget
命令,该命令将获取所有给定标识符的值。
您需要将 Redis 视为索引中的索引。它是关于索引您的数据以有效地检索它。