【SpringBoot-cache 01】

、一、 搭建基本环境

1、导入数据库sql语句,创建库表
2、创建bean
3、mybaits操作数据库
    1)application.yml配置数据库信息链接数据库
    2)使用注解版的mybatis
        1.@MapperScan注解指定需要扫描的Mapper所在地的包

这里涉及到一个知识点:如果bean里面的属性是(dId)和数据库的字段(d_id)不一样,可以在application.yml文件内添加驼峰命名

mybatis:
  configuration:
    map-underscore-to-camel-case: true

其实就是创建一个springboot+mybaits的工程

二、快速体验缓存

步骤:
 *             1、开启基于注解的缓存 @EnableCaching (一般在SpringBoot的启动类加)
 *             2、标注缓存注解即可
 *                 @Cacheable  ==>作用:调用方法之前先要看指定的key有没有数据,没有的话直接调方法,有了的话就直接调缓存
 *                 @CacheEvict ==>作用:直接先调方法,把结果放到缓存中
 *                 @CachePut
 * 默认使用的是ConcurrentMapCacheManager==ConcurrentMapCache;将数据保
 1、缓存注解

【SpringBoot-cache 01】

 

 

keyGenerator key的生成器,和key二者之间任选一

红线标记的是常用的几个注解的含义

 2、缓存的主要参数

【SpringBoot-cache 01】

 

 

 key编写的SpEL表:

 【SpringBoot-cache 01】

 

 

key的内容可以是方法名、目标对象、目标对象类以及参数列表。其中参数可以有几种方式:key='#id'  参数id的值,等同于#a0、 #po、 #iban、 #root.args[0] 

3、实例验证@Cacheable、@CacheEvict、@CachePut的用法

 

 

 

 

 

 

 

 

 

* 三、整合redis作为缓存
 * Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
 *     1、安装redis:使用docker;
 *     2、引入redis的starter
 *     3、配置redis
 *     4、测试缓存
 *         原理:CacheManager===Cache 缓存组件来实际给缓存中存取数据
 *        1)、引入redis的starter,容器中保存的是 RedisCacheManager;
 *        2)、RedisCacheManager 帮我们创建 RedisCache 来作为缓存组件;RedisCache通过操作redis缓存数据的
 *        3)、默认保存数据 k-v 都是Object;利用序列化保存;如何保存为json
 *               1、引入了redis的starter,cacheManager变为 RedisCacheManager;
 *               2、默认创建的 RedisCacheManager 操作redis的时候使用的是 RedisTemplate<Object, Object>
 *               3、RedisTemplate<Object, Object> 是 默认使用jdk的序列化机制
 *      4)、自定义CacheManager;

上一篇:es6中class的理解


下一篇:spring-boot-starter-cache设置