Springboot キャッシュのアノテーション @CachePut、@Cacheable、@CacheEvict 関数と使用法

目次

1.SpringBootキャッシュ

1.1 キャッシュとは何ですか?

1.2 SpringBoot キャッシュ

2.スプリングブートの組み込みキャッシュ

2.1 @CachePut

2.2 @キャッシュ可能

2.3 @CacheEvict


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 アプリケーションで構成する必要があります。

おすすめ

転載: blog.csdn.net/chaojichunshen/article/details/131614364