Spring Cacheの概要

概要

  • キャッシュは、頻繁に使用されるリソースを取得した後、有効期限とともに保存します。キャッシュされた値が有効な間に同じリソースが要求された場合、その値を使用することで検索性能を大幅に向上できます。
  • 一般にキャッシュは、同じリソースに対する頻繁なクエリによって発生するDBMSの負荷を軽減するために使用します。

Spring Cache

  • Springは、キャッシュ抽象化を通じて便利なキャッシュ機能をサポートします。
    • Spring Cacheの抽象化により、ユーザーはキャッシュ実装を意識せず、公開インターフェースを通じて容易にキャッシュ機能を適用できます。
    • 具体的には、キャッシュが必要なビジネスロジックは、EhcacheやRedisなどのキャッシュインフラストラクチャーに依存せず、抽象化された公開インターフェースを使用できます。これにより、EhcacheからRedisへ切り替えてもビジネスロジックには影響しません。
  • 従来のSpringでは、SimpleCacheManagerを通じてCacheManager Beanを作成できます。Spring Bootでは、spring-boot-starter-cacheアーティファクトを追加してキャッシュ機能を使用できます。
  • 別途サードパーティーモジュールがない場合、ローカルメモリーに保存するConcurrentMapベースのConcurrentMapCacheManagerがBeanとして自動登録されます。EhcacheやRedisなどの依存関係を追加すると、EhCacheCacheManagerまたはRedisCacheManagerをBeanとして登録して使用できます。