0

我正在使用缓存项目表信息的 ehcache

例如:项目表
商品编号:101
零件编号:PX_1001
价格:10

注意:在第一次数据库调用中,它会将商品信息缓存在缓存中,但如果我尝试在数据库中更新该商品的价格,则价格不会反映在缓存中。
如果有人更新数据库中已经在缓存中的行应该在缓存中同时更新或从数据库中获取更新的值,我们如何存档?

4

1 回答 1

0

这是经典的失效问题。如果是您的应用程序执行更新,请确保它也更新缓存条目。

如果您的数据库在应用程序的外部更新,您将需要提出一个方案,以便您可以使缓存条目无效或更新。

取决于您的业务需求的另一条路径是在缓存条目上设置到期设置(在这种情况下为生存时间或 TTL),这样您仍然可以从缓存中受益,但最终会在缓存中提取更新的值,因为之前的映射将过期。

于 2016-07-12T20:35:37.893 回答