Spring Boot缓存
《Spring Boot 实战开发》—— 基于 Gradle + Kotlin的企业级应用开发最佳实践
我们知道一个系统的瓶颈通常在与数据库交互的过程中。内存的速度远远快于硬盘速度。所以,当我们需要重复地获取相同的数据的时候,我们一次又一次的请求数据库或者远程服务,这无疑是性能上的浪费——会导致大量的时间耗费在数据库查询或者远程方法调用上(这些资源简直太奢侈了),导致程序性能的恶化——于是有了“缓存”。缓存(Cache)就是数据交换的缓冲区。
本章介绍在 Spring Boot 项目开发中怎样来使用Spring Cache 实现数据的缓存。
1.1 Spring Cache 简介
Spring 3.1 中,Costin Leau引入了对Cache的支持。在spring-context 包中定义了org.springframework.cache.CacheManager和org.springframework.cache.Cache接口用来统一不同的缓存的技术。其中,CacheManager是Spring提供的各种缓存技术抽象接口,Cache接口包含缓存的常用操作: 增加、删除、读取等。
针对不同的缓存技术,需要实现不同的CacheManager,Spring定义了如表所示的CacheManager实现。Spring支持的常用CacheManager如下表所示
SimpleCacheManager
使用简单的Collection来存储缓存
ConcurrentMapC