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

Abe*_*Abe 1 grails caching grails-orm

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

我需要调整其他设置吗?

目前域类有

static mapping = {
cach true
}
Run Code Online (Sandbox Code Playgroud)

查询就好findBy*[cache:true].

Bur*_*ith 5

如果您不配置Ehcache,您的缓存将使用默认超时120秒.有关注释良好的示例文件,请参阅http://ehcache.org/ehcache.xml,该文件与Ehcache jar中的默认文件相同.

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