【发布时间】:2012-03-29 20:34:49
【问题描述】:
我有一个 Spring 3.0.x Web 项目,它显示一个用户链接页面,我遇到了一些难题。目前,我正在使用 EhCache 2.1.0 来缓存我的内容,这是所有静态内容,大约在蓝月亮中更改一次。内容本身存储在一个数据库中,可能会出现故障,但不会影响页面上显示的许多链接,我不关心这些链接的去向,我只关心显示它们。
我的困惑是:如何在 EhCache 的 timeToLive 中添加预检查,以便在缓存过期之前 ping 数据库?我想要它做的是 ping 数据库,如果它没有启动,则跳过清除缓存,并重置计时器以在 timeToLive 秒内再次检查。
在浏览了 ehcache.org 上的文档,并阅读了他们的缓存管理器和 cache event listeners、cache pinning 和 cache extensions 之后,我找不到任何可以帮助保证我做到这一点的方法。 . 我开始倾向于将 timeToLive 设置为 0 并实现我自己的 timeToLive 版本,但如果我可以使用 EhCache 中已经存在的东西会很好。
【问题讨论】: