Grails为什么我的缓存失效了?

时间:2012-03-10 18:23:47

标签: caching grails gorm

我在grails应用程序中缓存了一些域实例和查询。我希望在第一次向db发出查询后,后续调用只会触发缓存。 但是,我看到定期查询命中db(每5-6次后)。同时没有数据更新/插入数据库。我正在使用p6spy检查所有记录的查询,并且看不到任何更新或插入。

我需要调整其他设置吗?

目前域类已

static mapping = {
cach true
}

findBy*之类的查询设置了[cache:true]

1 个答案:

答案 0 :(得分:5)

如果您没有配置Ehcache,您的缓存将使用120秒的默认超时。请参阅http://ehcache.org/ehcache.xml,以获取与Ehcache jar中默认文件相同的评论良好的示例文件。

您可以通过在应用程序中创建ehcache.xml来配置超时,内存中的最大元素,是否溢出到磁盘等。把它放在src / java中它会被复制到类路径中,Ehcache会看到它并使用你的而不是它的默认值。