当前位置: 首页 > 知识库问答 >
问题:

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

禄和宜
2023-03-14

共有1个答案

益银龙
2023-03-14

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

因此,如果重新加载,缓存将从数据库重新加载。

如果通过Hibernate保存数据,那么数据将被写入缓存和数据库。当您有多个线程/进程读写时,这里可能会出现问题。有关如何管理此操作,请参阅Hibernate文档中的缓存策略

 类似资料:
  • 我无法让我的ehCache与磁盘存储一起工作。我想要一个持久缓存存在后,我重新启动我的应用程序。所以我尝试了ehCache,这是我的ehCache配置文件: 只要我不重新启动应用程序,缓存就会工作。在我重新启动应用程序并且ehCache试图从缓存文件加载数据之后,我得到了这个错误: 我还有一个ShutdownListener来关闭CacheManager 这是我的服务方式

  • 主要问题是EHCAHCE2.6.2是否基于ehcache配置驱逐过期元素;还是我必须按程序驱逐? 在阅读了文档的各个部分(数据寿命和缓存大小)之后,我们将当前配置设置为使用TTI/TTL和CacheManager级别MaxBytesLocalHeap=1024M。在设置了这个之后,我希望ehcache只能使用1GB的堆空间进行缓存,但是从测试(和prodcution)中,我们总是看到JVM堆已经满

  • 问题内容: 我正在使用具有磁盘存储持久性的缓存。在随后重新运行该应用程序时,出现以下错误: 除了在应用程序中的某个位置显式调用之外,还有什么方法可以解决此问题? 缓存配置: 复制问题的代码: 问题答案: 尝试设置系统属性: net.sf.ehcache.enableShutdownHook = true 因此,您可以在程序的开头添加以下行: 或者,从命令行传递属性: 注意,ehcache网站在使用

  • Ehcache集群 共有RMI,JGroups,JMS三个方案。JMS太过复杂,直接掠过。JGroups方案的配置比较复杂,如果不熟悉JGroups的同学可能用不好,而且是非核心包。所以简简单单就用ehcache-core自带的RMI了。 例子见showcase里的ehcache-hibernate-rmi.xml, 配置很简单,先把Factory配起来,简单的multicast自动发现: <ca

  • EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 下图是 Ehcache 在应用程序中的位置: 主要的特性有: 1. 快速. 2. 简单. 3. 多种缓存策略 4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题 5. 缓存数据会在虚拟机重启的过程中写入磁盘 6. 可以通过RMI、可插入API等方式进行分布式缓存 7

  • 我只想将元素缓存在diskstore中,而不是内存/ram中,为此我使用了以下配置,它将元素存储在磁盘上,但不会在5分钟后过期/从磁盘删除数据。 我可以在ehcache配置中做什么,该配置将在指定时间后使diskstore中的元素过期?