2012-12-17 28 views
2

有沒有像使用Grails實現緩存的好方法的最佳實踐?應該使用哪些插件以及頁面的哪些部分應該被緩存以及如何?在Grails中緩存?

回答

8

廣闊的問題取決於你的needs.To緩存域中的對象,你可以使用Hibernate的緩存是這樣的:

class Book { 
    … 
    static mapping = { 
     cache true 
    } 
} 

而且在grails-app/conf/DataSource.groovy配置Hibernate二級緩存:

hibernate { 
    cache.use_second_level_cache=true 
    cache.use_query_cache=true 
    cache.provider_class='org.hibernate.cache.EhCacheProvider' 
} 

Grails Documentationcaching guide

您還可以使用基於Spring cacheGrails cache plugin緩存控制器及服務:

@Cacheable('message') 
    Message getMessage(String title) { 
     println 'Fetching message' 
     Message.findByTitle(title) 
    } 

你會找到優秀的文檔here

如果你想緩存渲染頁面,你也可以看看gsp template rendering cache plugin