問題タブ [hibernate-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
472 参照

java - クエリ キャッシング リージョンはエンティティ キャッシング リージョンと同じにする必要がありますか

私のプロジェクトでは、休止状態のクエリ キャッシング (ehcache を使用) と、一部のエンティティに対して第 2 レベルのエンティティ キャッシングを有効にしました。また、ドキュメントでは、クエリ キャッシュは完全なエンティティ オブジェクトを格納せず、エンティティ ID のみを格納することが記載されています。したがって、パフォーマンスを向上させるには、第 2 レベルのエンティティ キャッシュも有効にする必要があります。

クエリ キャッシング リージョンとエンティティ キャッシング リージョンを同じにする必要があるかどうか疑問に思っていました。または、それらが異なっていても問題ありませんが、クエリキャッシュにキャッシュされたクエリの結果である場合、エンティティは第 2 レベルのキャッシュから返されますか? 私が持っている別の質問は、ビジネスの分類に基づいて、さまざまなエンティティに対してさまざまな第 2 レベルのキャッシュ領域を構成してもよいですか?

0 投票する
1 に答える
184 参照

hibernate - Hibernate の第 2 レベルのキャッシュが GORM 6.1.11 で機能しない

問題:

Hibernate の第 2 レベルのキャッシュが using で使用される条件クエリがありますcache(true)

このコードが 2 回ヒットすると、1 回目は予期されるデータベース クエリが作成されますが、次回同じコードが実行されるときは、クエリのデータベースにヒットするのではなく、キャッシュから取得する必要があります。しかし、それは起こっていません。

ログ:

環境:

  • オペレーティングシステム: MacOS、CentOS7
  • GORM バージョン: 6.1.11
  • Grails バージョン (Grails を使用している場合): 3.3.9
  • JDK バージョン: 1.8.0_91

再現する手順:

  1. このレポをクローン git clone git@github.com:wizpanda/test-l2-cache.git
  2. MySQL データベースにログインし、新しいデータベースを作成しますcreate database test_l2_cache
  3. でMySQLのユーザー名とパスワードを変更しますgrails-app/conf/application.yml
  4. アプリを実行するgrails run-appか、./gradlew bootRun
  5. http://localhost:8080/ログを参照して確認する

提起された問題: https://github.com/grails/grails-data-mapping/issues/1266