2011-01-03 14 views
3

これらは、(conf/DataSource.groovyで見つかった)のGrailsのデフォルトのHibernate設定です:デフォルトのGrailsキャッシュ設定を微調整する必要がある場合の良い例は何ですか?

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

1がしたいれる状況のいくつかの良い例がどのようなものです:

  • 二次キャッシュを無効にし、
  • クエリキャッシュを無効にするか、
  • デフォルトキャッシュプロバイダ(EhCacheProvider)を変更しますか?

答えて

2

私たちのプロジェクトでは、別のデータベースに接続するためにデータソースプラグインを使用しています。このデータベースは別のシステムで管理されているため、これらのクラスをキャッシュすることはできません。更新される時期を知る方法がないためです。このデータソースでは、第2レベルのキャッシュとクエリキャッシュを無効にしました。ほんの一例。

3

IMHOは、常にシステムのメトリックを構築し、そのメトリックに影響を与えるキャッシュを検証することが常に最善の方法です。

上記のgrailsのデフォルト設定にもかかわらず、特定のクエリ/アソシエーションに対して明示的に有効になっている場合にのみキャッシュが使用されるため、クエリや結果はデフォルトでキャッシュされません。

+0

mfloryan:私は一般的なアドバイスを探していません。私はちょうど自分自身を行う理由が決してなかったので、設定を調整するときの良い例を見つけようとしています:-)これらの設定を微調整しましたか? – knorv

+0

はい。私がそれを変更した1つのケースは、私がキャッシングを使用しないことを知っていて、プロバイダが一時的なファイルを「ちょうどの場合に」作成することを望まないときでした。 キャッシュを配布または拡張する必要がある場合に備えて、変更する可能性が最も高いのはキャッシュプロバイダです。 – mfloryan

関連する問題