Apache Ignite:我应该为每个实体创建一个单独的缓存吗?



例如,我有实体 Book 和 Author。我只对书籍感兴趣,但我想通过作者的电子邮件(书籍 -> 作者 -> 电子邮件(搜索书籍。

是否应该为作者和书籍创建缓存或单个书籍缓存就足够了?

这似乎是一个建模问题。您应该像对 RDBMS 表建模一样对 Ignite 缓存进行建模。最干净的设计是有 2 个表,书籍和作者,但如果您知道您将运行的唯一查询是按作者的电子邮件搜索书籍,那么将作者的电子邮件添加到书籍表将更有效。

此外,如果您有 2 个相关的缓存或表,则需要正确并置数据才能执行 JOIN 查询。更多关于搭配的信息: https://apacheignite.readme.io/docs/affinity-collocation

最新更新