首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ehcache存储但不检索(Ehcache + Hibernate)

Ehcache存储但不检索(Ehcache + Hibernate)
EN

Stack Overflow用户
提问于 2012-07-19 04:19:23
回答 1查看 474关注 0票数 3

我使用ehcache来缓存使用hibernate的实体。

查看ehcache监视器,一切似乎都很正常(flush将cache count设置为0,reload将count恢复为1),但如果我直接在db上更改某个值并重新加载,则会显示更新后的值,而不是缓存的值。我不知道这是否是预期的行为,但作为一个缓存,这样做会很奇怪。

我尝试了所有能找到的解决方案,但都没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-19 05:06:24

这是预期的行为。数据库是所有正确数据的来源,缓存的存在只是为了加快对数据库中数据的访问。如果数据不同,则根据定义,缓存是错误的。

因此,如果您重新加载,则会从数据库重新加载高速缓存。

如果您通过Hibernate保存数据,那么数据将被写入缓存和数据库。当您有多个线程/进程读取或写入时,可能会出现问题。有关如何管理此问题的信息,请参阅caching strategies in the Hibernate documentation

通常,直接更新数据库会导致问题,除非通知缓存必须使其拥有的数据无效和/或从数据库重新加载,否则缓存将不会有正确的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11549591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档