刷新缓存由数据库中的更改触发是否可能?

时间:2016-01-28 13:23:56

标签: spring hibernate ehcache

在我的应用程序中,我使用的是Spring,Hibernate和EHCache。问题是数据库正在被另一个应用程序修改。

是否有可能,是否有基于某些数据库更改刷新缓存的实施解决方案?我可以使用一些额外的列进行版本控制等。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您正在寻找的是sizeof(char[10])缓存。 EhCache支持它。

来自EhCache文档:

  

直写式缓存是一种缓存模式,用于写入缓存   导致写入底层资源。缓存充当外观   底层资源。有了这种模式,它通常是有道理的   通过缓存读取。后写式缓存使用相同的客户端   API;但是,写入是异步发生的。 Ehcache-2.0介绍   直写和后写缓存。而文件系统或   Web服务客户端可以构成直写缓存的外观,   最常见的底层资源是数据库。

这是一篇详细的文章: http://www.ehcache.org/documentation/2.8/apis/write-through-caching.html#write-through-and-write-behind-caching-with-the-cachewriter-

答案 1 :(得分:0)

Ehcache不支持开箱即用的这种情况。直写是指更改以另一种方式流动:应用程序更新缓存,并在后台缓存将更新推送到数据库。

为了将数据库更新推送到您的应用程序,您必须提出自己的解决方案。理想的方法是不要让两个不同的应用程序访问相同的数据,而是使两个应用程序中的一个通过另一个应用程序,以便单个应用程序拥有这组数据。