使用时间戳数据更新点燃缓存



我的问题是如何使用数据库表中的新条目更新缓存?我的缓存有我的 Cassandra 表数据,假设直到下午 3 点。在此之前,用户已经购买了 3 个项目,所以我的缓存有 3 个项目条目与该用户相关联。

但是过了一段时间(比如 30 分钟),如果用户再购买 2 件商品怎么办?

由于我在缓存中有 3 个条目,它不会从数据库中查询,如何在计算最终账单时获取这 2 个新条目。

我有一个选择是每 15 分钟给cache.loadCache(null, null)打电话一次? 但是有些地方不可能每次都打电话?

这里更好的选择是不要直接将数据插入到Cassandra,而是使用Ignite。它将提供始终更新缓存中的数据的可能性,而无需运行与数据库的任何其他同步。

但是,如果您选择每次都运行 loadCache,则可以在 DB 中为您的对象添加时间戳并实现您自己的 CacheStore,这将具有仅从数据库加载新数据的 add 方法。这是文档的链接,它将帮助您实现自己的CacheStore。