为了减少数据库负载,我想将热实体移动到休眠二级缓存。
应用程序中的读取和更新频率大致相等,单个实体每秒更新一次。
通过分析hibernate日志和二级缓存统计信息,我看到"选择"从缓存执行,"更新"传播到数据库。
是否可以仅在缓存中更新实体并偶尔刷新缓存?如果缓存崩溃,应用程序可以恢复丢失的更新。
答案 0 :(得分:0)
更新:在研究了各种解决方案之后,结论是 hibernate二级缓存不是一个合适的选择当有许多更新应该只提交缓存时
但仍有透明的解决方案。 Hibernate拦截器和事件侦听器允许相对简单的专有缓存处理。我们使用Hazelcast作为缓存提供程序,支持分布式Map,事务,锁定,pub / sub。