在redis中存储Json个对象以便快速查询

Storing Json object in redis for fast querying

我一直在使用 MongoDB 来存储和查询无模式 json 文档(约 1000 万条记录)。这些查询通常涉及在几秒钟内找到 json 个具有匹配键值对和 运行 的文档。我正在寻找使查询 运行 更快的方法,并遇到了 Redis 数据库。转向 Redis 是个好主意吗?我的用例是否有更好的数据库?

此外,有人可以解释一下我如何在 Redis 中存储无模式 json 对象(并能够稍后查询它们)吗?

谢谢!

Redis 不会 JSON,或者它只是将其视为不透明字符串,但在某些情况下(也许是您的情况)这就是您所需要的。在这种情况下,请按原样存储您的文档并为其指定一个有意义的键名(例如文档的 ID)。

查询有点麻烦,但更棘手。当 upserting/removing 您的文档时,您需要为稍后要查询的每个 k-v 维护一个索引。索引映射与文档 ID 相关的值,因此按值查询意味着首先访问索引,然后获取实际的 JSON 文档。

更新:至少从 2017 年 3 月 21 日起,RedisLabs 支持名为 RedisJSON 的模块,该模块添加了 JSON 数据类型。

参见例如https://oss.redislabs.com/redisjson/