1

10 人の同時ユーザーをサポートするプロジェクトがあります。

私のプロジェクトは、MYSQL DB を使用した spring + hibernate プロジェクトです。

一部のエンティティ (プレーヤーなど) のキャッシュを保持したい

いくつか質問があります。

1)キャッシュを正確に操作するにはどうすればよいですか(キャッシュがある場合)?プレーヤーを永続化する必要がある場合、キャッシュを変更してすぐに休止状態で永続化しますか?

2) スプリングはキャッシュ機構をサポートしていますか? もしそうなら、それをどのように扱うのですか?

4

1 に答える 1

1

休止状態

Hibernate にはSecond level cacheがあります。作業を開始するには、次のことが必要です。

  • いくつかのキャッシュ プロバイダー (EHCache、Infinispan など) を選択します。
  • キャッシュ領域を構成します(状況に応じて対応する戦略を選択します)
  • 一部のエンティティのキ​​ャッシュを有効にする

これは宣言型であり、ほとんどの場合、アプリケーション コードを変更する必要はありません。

Spring にはキャッシュの抽象化があります。一般的な手順がいくつかあります (キャッシュ プロバイダーの選択、キャッシュ リージョンの構成)。しかし、これはより一般的な目的のキャッシュであり、Hibernate のエンティティやトランザクションとは関係ありません。そのため、さらに作業を行う必要があります (必要なすべてのメソッドに注釈を付けます)。

一般に、Player クラスが Hibernate エンティティである場合は、Hibernate キャッシュを使用することをお勧めします。特別なご要望がある場合は、そうではないかもしれません。

それが役に立てば幸い。

于 2013-08-28T15:54:56.873 に答える