在Grails中缓存 - 默认情况下缓存什么以及可以启用什么?

时间:2011-07-19 11:45:28

标签: hibernate grails gorm

我很好奇Grails框架提供的对数据库/ GORM对象缓存的支持。

  • 默认情况下启用了哪些数据库缓存?
  • 框架提供了哪些数据库缓存,但默认情况下是禁用的?
  • 您通常在Grails项目中启用/禁用哪种数据库缓存?为什么?

2 个答案:

答案 0 :(得分:5)

Grails使用Hibernate for GORM,因此数据库缓存功能实际上是由Hibernate提供的。

  1. 启用了Hibernate第一级缓存(大约只持续用户请求的时间)。它无法禁用。

  2. Hibernate二级缓存也已启用,但可以通过配置关闭。此缓存将长时间保存数据(可通过对象类型进行配置),除非某些内容使数据无效(更新)

  3. 对于重读应用程序,应该启用二级缓存,您将节省大量的数据库访问,并且它对您的应用程序是100%透明的(几乎没有成本)。

    此致

    文森特

答案 1 :(得分:0)

3)我们禁用了磁盘缓存溢出。必须从ehcache.xml明确创建ehcache-core-1.7.1.jar/ehcache-failsafe.xml

磁盘缓存溢出只会给我们带来问题,因为它很慢并且容易出错IO。