SpringCloud Spring CacheでRedisキャッシュを使用
2894 ワード
SpringCloud Spring CacheでRedisキャッシュを使用 Spring Cache アクティブ情報のキャッシュ (1)pom.xmlにSpringDataRedis を導入(2)redis構成 を追加(3)起動クラス追加@EnableCaching注記 (4)@Cacheable注記の使い方 (5)@CacheEveictの使い方 Spring Cache
Spring Cacheの使用方法はSpringのトランザクション管理の構成と似ています.Spring Cacheの核心は,あるメソッドをキャッシュすることであり,本質的にはそのメソッドの戻り結果をキャッシュし,メソッドパラメータと結果をキー値ペアでキャッシュに格納し,そのメソッドを再度呼び出して対応するパラメータを使用すると,直接キャッシュから指定した結果を取り出して返す.
一般的な注記:@Cacheable------この注記を使用すると、実行後に結果がキャッシュされます.@CacheEveict-----Spring Cacheの要素の一部を、実行前または実行後にこの注記を使用して除去します.
アクティブ情報のキャッシュ
アクティビティ詳細のキャッシュ実装手順:
(1)pom.xmlにSpringDataRedisを導入
私たちはtensquareでgatheringのpom.xmlにSpringDataRedisを導入する.
(2)redis構成の追加
アプリケーションを変更します.yml、springノードの下にredis構成を追加します.
(3)起動クラス追加@EnableCaching注記
@EnableCachingのキャッシュサポートをGatheringApplicationに追加します.
説明:起動クラスに@EnableCaching注記を加え、キャッシュサポートを開始します.
(4)@Cacheable注記の使い方
GatheringServiceのfindByIdメソッドにキャッシュ注記を追加すると、このメソッドが初めて実行され、キャッシュに対応するvalueとkeyが見つからない場合、クエリー結果がキャッシュに格納されます.
(5)@CacheEveictの使い方
データを削除する場合は、キャッシュを更新する必要があります.キャッシュを更新することは、キャッシュをクリアすると、ユーザーがクエリー・メソッドを再呼び出してキャッシュを抽出できないため、データベース内のレコードを再検索してキャッシュに格納します.
Spring Cacheの使用方法はSpringのトランザクション管理の構成と似ています.Spring Cacheの核心は,あるメソッドをキャッシュすることであり,本質的にはそのメソッドの戻り結果をキャッシュし,メソッドパラメータと結果をキー値ペアでキャッシュに格納し,そのメソッドを再度呼び出して対応するパラメータを使用すると,直接キャッシュから指定した結果を取り出して返す.
一般的な注記:@Cacheable------この注記を使用すると、実行後に結果がキャッシュされます.@CacheEveict-----Spring Cacheの要素の一部を、実行前または実行後にこの注記を使用して除去します.
アクティブ情報のキャッシュ
アクティビティ詳細のキャッシュ実装手順:
(1)pom.xmlにSpringDataRedisを導入
私たちはtensquareでgatheringのpom.xmlにSpringDataRedisを導入する.
org.springframework.data
spring-data-redis
redis.clients
jedis
2.9.0
(2)redis構成の追加
アプリケーションを変更します.yml、springノードの下にredis構成を追加します.
redis:
host: 192.168.2.10
port: 6379
(3)起動クラス追加@EnableCaching注記
@EnableCachingのキャッシュサポートをGatheringApplicationに追加します.
package com.tensquare.gathering;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import util.IdWorker;
@SpringBootApplication
@EnableCaching
public class GatheringApplication {
// com.tensquare.gathering.GatheringApplication
public static void main(String[] args) {
SpringApplication.run(GatheringApplication.class, args);
}
@Bean
public IdWorker idWorkker(){
return new IdWorker(1, 1);
}
}
説明:起動クラスに@EnableCaching注記を加え、キャッシュサポートを開始します.
(4)@Cacheable注記の使い方
GatheringServiceのfindByIdメソッドにキャッシュ注記を追加すると、このメソッドが初めて実行され、キャッシュに対応するvalueとkeyが見つからない場合、クエリー結果がキャッシュに格納されます.
/**
* ID
* @param id
* @return
* @Cacheable value ,key key
*/
@Cacheable(value = "gathering",key = "#id")
public Gathering findById(String id) {
return gatheringDao.findById(id).get();
}
(5)@CacheEveictの使い方
データを削除する場合は、キャッシュを更新する必要があります.キャッシュを更新することは、キャッシュをクリアすると、ユーザーがクエリー・メソッドを再呼び出してキャッシュを抽出できないため、データベース内のレコードを再検索してキャッシュに格納します.
/**
*
* @param gathering
*/
@CacheEvict(value = "gathering", key = "#gathering.id")
public void update(Gathering gathering) {
gatheringDao.save(gathering);
}
/**
*
* @param id
*/
@CacheEvict(value = "gathering", key = "#gathering.id")
public void deleteById(String id) {
gatheringDao.deleteById(id);
}