当应该调整默认的Grails缓存设置时,有什么好的例子?

时间:2011-01-03 19:43:38

标签: grails

这些是Grails中的默认Hibernate设置(在conf/DataSource.groovy中找到):

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}

在一个人希望的情况下有哪些好的例子:

  • 禁用二级缓存
  • 禁用查询缓存,或
  • 更改默认缓存提供程序(EhCacheProvider)?

2 个答案:

答案 0 :(得分:3)

很难给出使用缓存作为最佳方法的通用指南IMHO始终为系统构建一些指标并验证缓存对这些指标的影响。

我假设你意识到尽管grails中有上述默认设置,但默认情况下根本没有缓存任何查询或结果,因为缓存只在明确启用特定查询/关联时使用。

答案 1 :(得分:2)

在我们的项目中,我们使用Datasources插件来连接到另一个数据库。此数据库由另一个系统管理,因此我们无法缓存这些类,因为我们无法知道它们何时更新,因此对于此数据源,我们禁用了二级缓存和查询缓存。只是一个例子。