2

grailsでキャッシングを実装するための良い方法論について、ベストプラクティスのようなものはありますか? どのプラグインを使用し、ページのどの部分をどのようにキャッシュする必要がありますか?

4

1 に答える 1

9

ニーズに応じて広大な質問があります。ドメインオブジェクトをキャッシュするには、次のようにHibernateキャッシュを使用できます。

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

そして、Hibernateの第2レベルのキャッシュを次のように構成しますgrails-app/conf/DataSource.groovy

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

Grailsのドキュメントキャッシュガイド

Springキャッシュに基づくGrailsキャッシュプラグインを使用して、コントローラーとサービスをキャッシュすることもできます。

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

ここに優れたドキュメントがあります。

レンダリングされたページをキャッシュしたい場合は、gspテンプレートレンダリングキャッシュプラグインもご覧ください。

于 2012-12-17T16:27:57.197 に答える