Springboot_Cache-1

基本概念

Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来同意不同的缓存技术(Spring也支持JCache即JSR-107)。

Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;

Cache接口下Spring提供了各种xxx.Cache的实现;如:RedisCache,EhCacheCache,ConcurrentMapCache等;

每次调用需要缓存功能的方法时,Spring会检查指定参数的指定目标方法是否已经被调用过;如果有就直接从缓存中获取方法调用后的结果,如果没有就调用方法并缓存结果后返回给用户。下次调用直接从缓存中获取。

ps:使用Spring缓存抽象时我们需要关注以下两点;

​ 1.确定方法需要被缓存以及他们的缓存策略

​ 2.从缓存中读取之前缓存存储的数据

重要概念及缓存注解

概念 解释
Cache 缓存接口,定义缓存操作
CacheManager 缓存管理器,CacheManager管理多个Cach组件,对缓存的真正CRUD操作在Cache组件中,每一个缓存组件有自己唯一一个名字。
@Cacheable 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存。
@CacheEvict 清空缓存
@CachePut 保证方法被调用,又希望结构被缓存
@EnableCaching 开启基于注解的缓存
keyGenerator 缓存数据时key的生成策略
serialize 缓存数据时value序列化策略

创建项目

大专栏   Springboot_Cache-1

导入的模块:Cache、Web、MySQL、Mybatis

搭建基本环境

1.导入数据库文件,创建department和employee表
2.创建javaBean封装数据
3.整合Mybatis操作数据库
1.配置数据源信息

1
2
3
4
5
6
7
spring.datasource.url=jdbc:mysql://localhost:3306/spring_cache?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=
spring.datasource.type=com.mysql.cj.jdbc.MysqlConnectionPoolDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.configuration.map-underscore-to-camel-case=true

​ 2.使用注解版的Mybatis
​ @MapperScan指定需要扫描的mapper接口所在的包

快速体验缓存

步骤

​ 1.开启基于注解的缓存 @EnableCaching

​ 2.标注缓存注解

​ @Cacheable

​ @CacheEvict

​ @CachePut

ps: 可以通过下面的java语句在控制台输出SQL语句日志

1
logging.level.com.zjg.cache.mapper(包的真名) =debug

猜你喜欢

转载自www.cnblogs.com/liuzhongrong/p/12390556.html
今日推荐