如何将以下Mongo集合结构化到Redis缓存中?

我正在使用Redis模板和Jedis:

假设我有以下Mongo集合示例文档:

_id:
5fd9e0568564939bc4fb947c
field1:“value”
field2:“value”
field3:“value”
field4:“value”
field5:“value”
field6:“value”
field7:“value”
field8:“value”
field9:“value”
field10:“value”

集合的大小只有3mb,因此我甚至可以带有冗余的方式将整个集合持久化到Redis缓存中。我有一个基于不同键集的文档检索的API。例如[(field1,field2),(field1,field3))等。您如何高效地将数据持久化到Redis缓存中,以用于此API的目的?我知道我可以想出所有可能的请求组合,并附加到与每个组合相关联的所有文档,但是这将导致Redis缓存太大。如果我实现一个书目录机制,其中我只将每个文档只持久化一次,然后将其附加到引用中,那么这是可行的。问题是我必须对redis进行两个调用,一个是获取指定输入配置的索引/查找,另一个是实际获取对象。在这种情况下,MongoDB可能比发送两个查询到Redis更快,我认为(不确定这里,因为所有哈希操作都在O(1)中运行)。也许将书目录保存在内存中?最好的方法是什么?

让我们先尝试使用jedis来看看是否有有效的方法可以做到这一点,否则我们会进一步研究lua和redisson。

更新: 我一直在阅读有关使用Spring Data存储库以及如何通过使用它来实现数据库查询行为的内容。它会高效地将我的对象存储在Redis中吗?

点赞