目次
1.SpringBootキャッシュ
1.1 キャッシュとは何ですか?
キャッシュは、永続的なデータ ストレージ メディアとアプリケーションの間の一時的なデータ ストレージ メディアです。キャッシュを使用すると、低速データ読み取りプロセス (ディスク IO など) の数が効果的に削減され、システム パフォーマンスが向上します。さらに、キャッシュを使用すると、永続ストレージ メディアからのデータ読み取りの効率が向上するだけでなく、一時的なデータ ストレージの制御も可能になります。 Springboot は、市場のほぼすべてのキャッシュ テクノロジを統合するためのソリューションを提供します。
1.2 SpringBoot キャッシュ
Spring Bootでは、@CachePut、@Cacheable、@CacheEvictがキャッシュ管理に使用されるアノテーションです。これらを Spring Framework のキャッシュ抽象化と併用すると、アプリケーションのパフォーマンスと応答性が向上します。
2.スプリングブートの組み込みキャッシュ
2.1 @CachePut
@CachePut: このアノテーションは、メソッドの戻り値をキャッシュに追加するために使用されます。 更新されます。 。 @CachePut アノテーションが付けられたメソッドが呼び出されるたびに、メソッド本体が実行され、戻り値がキャッシュに格納されます。同じキーがすでにキャッシュに存在する場合、キャッシュ内の値は
【例】
@CachePut(value = "myCache", key = "#id")
public User updateUser(String id, User user) {
// 更新用户信息的逻辑
return updatedUser;
}
2.2 @キャッシュ可能
@Cacheable: このアノテーションは、 キャッシュ =4> から データを取得するために使用されます。 @Cacheable アノテーションが付けられたメソッドが呼び出されるとき、最初に同じキーがキャッシュに存在するかどうかがチェックされます。存在する場合は値がキャッシュから直接取得されて返され、存在しない場合はメソッド本体が実行され、戻り値がキャッシュに格納されます。
【例】
@Cacheable(value = "myCache", key = "#id")
public User getUserById(String id) {
// 从数据库或其他数据源获取用户信息的逻辑
return user;
}
2.3 @CacheEvict
@CacheEvict: このアノテーションは、 キャッシュからデータを削除するために使用されます< a i=4>。 @CacheEvict アノテーションが付けられたメソッドが呼び出されると、指定されたキーに基づいて対応する値がキャッシュから削除されます。
【例】
@CacheEvict(value = "myCache", key = "#id")
public void deleteUser(String id) {
// 删除用户的逻辑
}
【注】
これらのアノテーションはさまざまなキャッシュ マネージャー (Ehcache、Redis など) で使用でき、特定のニーズに応じて構成する必要があります。これらのアノテーションを使用する前に、対応するキャッシュ マネージャーとキャッシュ戦略を Spring Boot アプリケーションで構成する必要があります。