如果有人从后端手动更新数据库,如何更新休眠缓存?
Posted
技术标签:
【中文标题】如果有人从后端手动更新数据库,如何更新休眠缓存?【英文标题】:How to update hibernate cache if someone update database manually from backend? 【发布时间】:2021-08-26 03:23:42 【问题描述】:如果有人手动更新了数据库,我想更新我的休眠缓存。我有很多数据通过,所以我不能一直清除数据或依靠“timeToLiveSeconds”来更新。一旦数据库发生任何变化,我想要一些东西来更新缓存。
【问题讨论】:
【参考方案1】:没有办法识别相同的。缓存如何知道是否有人从后端修改了值。您必须识别这些值集并定期修改缓存。
【讨论】:
一定有办法。我在网上搜索,发现 debezium 可以帮助解决这个问题,但我也想搜索其他一些方法。我的应用程序中的数据流量非常大,因此我需要某种方式来更新缓存或在数据库已更新时通知缓存。【参考方案2】:如果您愿意针对 Hibernate 的 SPI 以及可能还针对您的缓存提供程序的 API 进行编码,您可以实现这一点。您只需要访问缓存区域,并使每个查询空间(表)或由主键作为键的单个条目使它们无效。
【讨论】:
以上是关于如果有人从后端手动更新数据库,如何更新休眠缓存?的主要内容,如果未能解决你的问题,请参考以下文章