随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一。Spring 3开始提供了强大的基于注解的缓存支持,可以通过注解配置方式低侵入的给原有Spring应用增加缓存功能,提高数据访问性能。
SpringBoot中的Cache缓存
1、基本概念
Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;同时支持JCache(JSR-107)注解。
| Cache | 缓存接口,定义缓存操作,实现有:RedisCache、EhCacheCache、ConcurrentMapCache等 | 
| CacheManager | 缓存管理器,管理各种缓存(Cache)组件 | 
| @Cacheable | 针对方法配置,根据方法的请求参数对其结果进行缓存 | 
| @CacheEvict | 清空缓存 | 
| @CachePut | 保证方法被调用,又希望结果被缓存 update,调用,将信息更新缓存 | 
| @EnableCaching | 开启基于注解的缓存 | 
| KeyGenerator | 缓存数据时key生成的策略 | 
| serialize | 缓存数据时value序列化策略 | 
2、整合项目
1、新建一个SpringBoot1.5+web+mysql+mybatis+cache
2、编写配置文件,连接Mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://192.168.1.125:3306/test01spring.datasource.username=root spring.datasource.password=root mybatis.configuration.map-underscore-to-camel-case=true server.port=9000
3、创建JaveBean实例
public class Employee { private Integer id; private String lastName; private String gender; private String email; private Integer dId; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gen

