gpt4 book ai didi

redis - 使用多个过滤器创建可行的 Redis 存储

转载 作者:可可西里 更新时间:2023-11-01 11:22:25 25 4
gpt4 key购买 nike

我正在开发一个显示有关房地产信息的系统。它以角度运行,数据以 json 文件形式存储在服务器上,每天更新一次。

我有卧室数量、浴室数量、价格和地址的自由文本字段的过滤器。这一切都非常活泼,但问题是应用程序的加载时间。这就是我关注 Redis 的原因。问题是,我只是想不通如何在运行多个不同过滤器的情况下获取数据。

假设我有一些这样的数据:(为简单起见,省略了很多字段)

id  beds  price
0 3 270000
1 2 130000
2 4 420000

等...

我想我可以设置三组,一组用于保存整个数据集,一组用于创建卧室索引,另一组用于价格:

beds  id
2 1
3 0
4 2

价格也一样:

price   id
130000 1
270000 0
420000 2

然后我想我可以使用 SINTER 返回重叠集。比方说,我正在寻找一个超过 2 间卧室的房子,低于 300000。

从卧室集中我得到 ID 0,2 表示床 > 2。

从价格集中我得到价格 < 300000 的 ID 0,1

所以公共(public) ID 是 0,然后我会在主数据集中查找它。

理论上这一切听起来不错,但作为一个 Redis 新手,我不知道如何去实现它!

如有任何建议,我们将不胜感激!

最佳答案

您走在正确的轨道上; sets + sorted sets 是正确答案。

您可能想要的所有信息的两个来源:

虽然第 7 章已被翻译成 Java,但这些资源都使用 Python 作为编程语言:https://github.com/josiahcarlson/redis-in-action/ (去java路径下看代码)。

... 也就是说,普通的关系数据库(尤其是像 Postgres 这样具有内置地理处理功能的数据库)应该可以轻松处理这些数据。您考虑过关系数据库吗?

关于redis - 使用多个过滤器创建可行的 Redis 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18879895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com