在SpringBoot中基本缓存的使用

本文详细介绍如何在SpringBoot项目中快速实现缓存功能,包括环境搭建、Mybatis整合及使用@Cacheable、@CacheEvict和@CachePut注解进行缓存管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用SpringBoot时基本的缓存操作,步骤如下:
1.实体类和DAO层省略
2.测试类:

/**
 * (一)搭建基本环境
 * 1.导入数据库文件,创建出department和employee表
 * 2.创建javaBean封装数据
 * 3.整合Mybatis操作数据库
 *    1)配置数据源信息
 *    2)使用注解版Mybatis
 *       1.使用@MapperScan注解指定需要扫描的mapper接口所在的包
 * (二)快速体验缓存
 *    SpringBoot步骤:
 *       1)开启注解的缓存EnableCaching
 *       2)标注缓存注解即可
 *       Cacheable-标注方法缓存
 *       CacheEvict-清空缓存
 *       CachePut-保证方法被调用,又希望结果被缓存
 */
@MapperScan("com.springboot01cache.mapper")
@SpringBootApplication
@EnableCaching
public class Springboot01CacheApplication {

	public static void main(String[] args) {
		SpringApplication.run(Springboot01CacheApplication.class, args);
	}
}

3.service类:

/**
     * 将方法的结果进行缓存,以后再要相同的数据,直接从缓存中获取,不用调用方法
     * <p>
     * CacheManager(缓存管理器)管理多个cache组件的,对缓存的真正CRUD操作在cache组件中,每一个缓存组件都有一个唯一自己的名字
     * 注解Cacheable中的几个属性:
     *    cacheNames/value:指定缓存组件的名字
     *    key:缓存数据使用的key,可以用它来指定,默认是使用方法参数的值,如下参数是1的话,值就是返回值
     *             如果编写SpEl的话:#id,这些都是参数id的值,   #a0,#p0,#root.args[0]
     *    keyGenerator:key的生成器,可以自己指定key的生成器的组件id
     *             key/keyGenerator:二选一使用
     *    cacheManager:指定缓存管理器,或者cacheResolver指定获取解析器
     *    condition:指定符合条件的情况才使用缓存,如condition="#id>0"
     *    unless:否定缓存,当unless指定的条件为true,方法的返回值就不会缓存,可以获取到结果进行判断
     *             unless="#result==null"
     *    sync:是否使用异步模式
     * @param id
     * @return
     */
    @Cacheable(cacheNames = {"emp"})
    public Employee getEmp(Integer id) {
        System.out.println("查询" + id);
        Employee employee = employeeMapper.getEmpById(id);
        return employee;
    }

基本的缓存使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值