1

使用 Grails ehcache 插件,我尝试缓存响应并偶尔刷新该响应。

这就是我在 Config.groovy 中的内容,

cache {
    name 'userprojects'
    eternal false
    timeToIdleSeconds 60
    timeToLiveSeconds 60
    memoryStoreEvictionPolicy 'LRU'

}

我正在用@Cacheable('userprojects') 注释获胜者端点。

我看到响应被缓存,但我从来没有看到缓存过期。任何人都知道这里可能发生了什么?

ehcache.EhcachePageFragmentCachingFilter 响应正常。使用键 GET:/CompositeWeb/userMapping/userProjects?jiraInstance_id=1 和 ttl 2147483647 添加到缓存用户项目

这里的 TTL 总是设置为最大值,而不是我配置的 60。

4

1 回答 1

2

我遇到了同样的问题,我想我已经找到了解决方案。我打开了以下 JIRA http://jira.grails.org/browse/GPCACHEEHCACHE-6并将在周末提交一个拉取请求。我测试了我的在本地更改并且它们工作正常。

问题是 put() 调用没有使用缓存的 TTL,而是使用默认值。

于 2013-08-16T19:49:26.673 回答