キャッシング - Hibernateのキャッシュ機構とキャッシュと二次キャッシュの役割
Hibernateのキャッシュの概念:
gbvy[W
。。オブジェクトは、小型軽量のオブジェクトのメモリと呼ばれている場合。
セッションキャッシュは、最初のレベルのキャッシュが休止状態と呼ばれる。休止状態の第2レベルのキャッシュとしてSessionFactoryの外部キャッシュ。両方のキャッシュは、どのデータベースのデータのコピーに格納されている、永続化層に配置されている。SessionFactoryは、メタデータのキャッシュ記憶域と定義済みのSQLで、SessionFactoryがキャッシュに読み込まれ内蔵内蔵キャッシュのみを。
3つの主要な機能のセッションキャッシュ:
図1は、アクセス性能を向上させるために、データベースへのアクセス頻度を減らすために。
図2は、データベースオブジェクトと同期してキャッシュを確保するために、キャッシュ内のオブジェクトは、永続オブジェクトと呼ばれています。
永続的な間の関連付けは、オブジェクト、Sessionオブジェクトのグラフは、デッドロックを確実にするためには表示されません3、。
。セッションキャッシュのクリーニングは、現在のオブジェクトのスナップショットを比較すると、そのプロパティが知ることができるどのような変化。
したときにキャッシュセッションをクリア?
図1は、メソッドが呼び出されるcommit()を
2、お問い合わせは、検索結果は、オブジェクトの最新状態を反映することができるようにするために、キャッシュを消去します。
図3は、示しているflushメソッドのコールセッション。
セッションは特殊なケースのキャッシュをクリアする:
ネイティブのジェネレータを使用してオブジェクトがデータベースキャッシュにレコードを挿入するすぐに削除されるとき。