我很好奇Grails框架提供的對數據庫/ GORM對象緩存的支持。在Grails中緩存 - 默認緩存的內容以及可以啓用的內容?
- 默認情況下啓用了哪些數據庫緩存?
- 該框架提供了哪些數據庫緩存但默認情況下處於禁用狀態?
- 您通常在Grails項目中啓用/禁用哪種數據庫緩存?爲什麼?
我很好奇Grails框架提供的對數據庫/ GORM對象緩存的支持。在Grails中緩存 - 默認緩存的內容以及可以啓用的內容?
Grails使用Hibernate for GORM,因此數據庫緩存功能實際上是由Hibernate提供的。
Hibernate一級緩存已啓用(它只能持續大約用戶請求的時間)。它不能被禁用。
Hibernate二級緩存也被啓用,但可以通過配置關閉。除非有數據無效(更新)
對於重閱讀應用,二級緩存應該啓用此緩存將保持很長一段時間的數據(按對象類型配置),你會節省很多到您的數據庫的旅程,並且對您的應用程序100%透明(幾乎沒有成本)。
問候,
文森特
3)我們禁用磁盤緩存溢出。不得不從ehcache-core-1.7.1.jar/ehcache-failsafe.xml
明確創建ehcache.xml
。
磁盤高速緩存溢出僅對我們造成問題,因爲速度較慢且出現IO錯誤。
有趣。你在你的ehcache.xml中設置了什麼設置?你把它放在哪裏? – knorv
設置'diskPersistent =「false」'和overflowToDisk =「false」'。把它放到'grails-app/config'中。調整了'timeToIdleSeconds'和'timeToLiveSeconds'。 –