Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用hibernate二级缓存更新实体_Java_Performance_Hibernate_Caching_Second Level Cache - Fatal编程技术网

Java 使用hibernate二级缓存更新实体

Java 使用hibernate二级缓存更新实体,java,performance,hibernate,caching,second-level-cache,Java,Performance,Hibernate,Caching,Second Level Cache,为了减少数据库负载,我想将热实体移动到hibernate二级缓存 应用程序中的读取和更新频率大致相等,单个实体每秒更新多次 通过分析hibernate日志和二级缓存统计信息,我看到“选择”是从缓存执行的,“更新”是传播到数据库的 是否可以只更新缓存中的实体并偶尔刷新缓存?如果缓存崩溃,应用程序可以恢复丢失的更新。更新:在研究了各种解决方案后,得出的结论是,当有许多更新只应提交到缓存时,休眠二级缓存不是一个合适的选择 但仍然有一个透明的解决方案。Hibernate拦截器和事件侦听器允许相对简单的专

为了减少数据库负载,我想将热实体移动到hibernate二级缓存

应用程序中的读取和更新频率大致相等,单个实体每秒更新多次

通过分析hibernate日志和二级缓存统计信息,我看到“选择”是从缓存执行的,“更新”是传播到数据库的


是否可以只更新缓存中的实体并偶尔刷新缓存?如果缓存崩溃,应用程序可以恢复丢失的更新。

更新:在研究了各种解决方案后,得出的结论是,当有许多更新只应提交到缓存时,休眠二级缓存不是一个合适的选择


但仍然有一个透明的解决方案。Hibernate拦截器和事件侦听器允许相对简单的专有缓存处理。我们使用Hazelcast作为缓存提供程序,支持分布式映射、事务、锁定、发布/订阅。

如果一个实体经常更新,我怀疑二级缓存是否有用,因为需要做一些工作来保持缓存与数据库同步。您只需禁用此特定实体的二级缓存,并将其留给不经常更新的其他实体即可。你试过了吗?