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として登録して使用できます。