SpringBoot2.0戦闘(23)統合キャッシュSpringDataCacheのRedisの統合
知識
一般的な春のキャッシュキャッシュのコメント
- @CacheConfigはクラスで、名前をキャッシュするなど、いくつかの公共の設定を、現在のキャッシュを設定します。
- 結果はキャッシュが存在する場合、このメソッドは、キャッシュされ得ることを示す方法の@Cacheable演技は、対象の方法は、キャッシュが存在しない場合は、メソッド本体を行い、その結果はキャッシュに格納され、キャッシュから直接呼び出されることはありません。
- この方法に作用する@CacheEvice、キャッシュエントリを削除するか、キャッシュを空にします。
- 方法に作用@CachePutかかわらず、キャッシュが存在するかどうかの、メソッド本体が実行され、その結果をキャッシュに格納されています。
- 複数のノートが@Cachingに包まする必要がある場合、法に作用する上記のコメントを@Caching
目標
データベース、データの同期化への追加や削除、キャッシュ、最初の検索クエリからキャッシュを更新する際に達成するためのキャッシュとしてRedisの使用。
準備
テーブルを作成します。
ステップ
依存追加
春ブーツスターター親プロジェクトの導入
依存関係のRedisの、JPAとMySQL、以下の添加に依存する整数を追加します。
コンフィギュレーション
データソース、Redisの、キャッシュ構成。
- spring.cache.typeのconfigureキャッシュ・タイプ、デフォルトのシンプル、かつキャッシュRedisのミドルウェアとして使用する構成、spring.cache.type属性のRedisに設定する必要があります
コーディング
エンティティ・オブジェクト
Redisの初期化なので、使用して、デフォルトのクラス・シーケンス JdkSerializationRedisSerializerは、Serializableインタフェースエンティティオブジェクトを実装する必要があります。
リポジトリレベルのコード
サービスレベルのコード
変更の検索方法へのキャッシュの追加および削除にメモを追加
スタートアップクラス
起動クラスに追加しました オープニング・キャッシュのコメントを@EnableCaching
検証結果
書き込みテストケース
UserServiceのキャッシュ関連のノートすべてのコメントは、テストケース、ログショー次のコマンドを実行します。
キャッシュ・リカバリ・ノート、再びテストケースを実行し、ログを示し、以下:
これは、ユーザーIDは、SQLを実行していないときにユーザーデータを取得するためによると、キャッシュを使用後に見ることができます。
あなたが現在Redisのキーを参照することができ、Redisのビューに移動し 、ユーザー:: 12、利用者のIDである12
送信元アドレス
ソース章:https://gitee.com/gongm_24/spring-boot-tutorial.git
結論
高性能のデータベース・システムは、常にボトルネックとなっている、キャッシュの合理的な適切な使用が大幅にシステムのパフォーマンスを向上させることができます。
しかし、このようなキャッシュ・コヒーレンシ、キャッシュ浸透キャッシュ雪崩のように対処すべき多くの問題は、その後の増加システムの複雑さがあります。