我坚持解决这个问题。我的项目需要存储大量 KV 数据(其中 K 是 id 和 Value 一些示例 MyData 类)并通过 id 从 DB 以良好的速度获取它。3 天后,此数据必须过期(从数据库中删除)。据此,我阅读了很多关于 Redis 的内容,并开始使用它。我们的 RAM 没有问题 :) 所以一切都很好。我们的负载是每 24 小时 Redis 中的 1 000 000 条记录。所以在 72 小时后,我们有大约 3 000 000 条记录。问题是我们想要创建一个简单的分析服务,该服务将根据 DataStructure(字段值)对数据进行计数和分析。我发现Redis操作,例如SCAN不支持按值搜索。只按钥匙。我找到了一个小解决方案:将一些字段值连接到 Key(例如“MyData:id7123718238,w788”)中。听起来不错,但是如果我们需要所有自定义查询,我们需要将所有值公开给 Key,所以这很糟糕。请有人为我推荐其他解决方案,或者只是为此推荐其他数据库类型。谢谢
1 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
在 Redis 中迭代大量数据看起来不是一个好方法。如果您想坚持使用 Redis 进行分析,请制作索引并支持它们:使用 Redis 进行二级索引
但是,如果您计划扩展,最好将数据流拆分为热存储 (Redis) 和分析(任何快速分析数据库)。写入它们并查询在给定情况下更合适的内容。
添加回答
举报
0/150
提交
取消