【发布时间】:2023-04-03 07:36:01
【问题描述】:
我在具有高读写比率的应用程序中使用 Hibernate(使用 JPA)。对于缓存,我启用了查询缓存和休眠二级缓存(ehcache)。我面临的问题是由于更新完成时自动查询缓存失效。有什么方法可以配置查询缓存以更新其值而不是使其无效? 此外,由于我使用查询来获取实体,因此避免查询缓存也不是一种选择
【问题讨论】:
标签: java hibernate jpa caching concurrency
我在具有高读写比率的应用程序中使用 Hibernate(使用 JPA)。对于缓存,我启用了查询缓存和休眠二级缓存(ehcache)。我面临的问题是由于更新完成时自动查询缓存失效。有什么方法可以配置查询缓存以更新其值而不是使其无效? 此外,由于我使用查询来获取实体,因此避免查询缓存也不是一种选择
【问题讨论】:
标签: java hibernate jpa caching concurrency
query cache 对于以写入为主的应用程序没有用处,您可能自己也发现了这一点。没有直写查询缓存选项,因此您首先需要质疑为什么要使用此功能。
当您计划更改正在查询的实体时,实体缓存很有用。如果您只需要投影/视图来呈现表格或类似的东西,那么您最好使用本机查询,并利用数据库索引和适当的缓冲池调整。
【讨论】: