springBoot17_缓存:环境搭建、原理、Cacheable、CachePut、CacheEvit、Caching、阿里云镜像加速、整合redis作为缓存、缓存原理、自定义缓存

本文介绍Spring Cache抽象简化缓存开发,演示环境搭建、依赖导入及数据库配置。通过mybatis注解实现缓存功能,包括缓存读取、更新和删除。深入解析缓存原理,探讨不同缓存配置类的作用,以及缓存组件的工作流程。重点讲解@Cacheable、@CachePut和@CacheEvict注解的使用场景和配置细节。最后,详细介绍如何整合Redis作为缓存,包括序列化方式修改、自定义缓存管理器及缓存策略设置。

JSR107规范的缓存
在这里插入图片描述
spring缓存抽象来简化缓存开发
在这里插入图片描述

环境搭建

导入依赖
在这里插入图片描述
建表、创建javaBean
连接数据库配置

spring.datasource.url=jdbc:mysql://localhost:3306/spring_cache?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver  会根据连接自动判断,可以不写
#开启驼峰命名匹配规则
mybatis.configuration.map-underscore-to-camel-case=true
#打印日志
logging.level.com.sjg.cache.mapper=debug

使用注解mybatis

@Repository //或者@Mapper
public interface EmployeeMapper {
   
   

    @Select("select * from employee where id = #{id}")
    public Employee getEmpById(Integer id);

    @Update("update employee set lastName=#{lastName}, email=#{email}, gender=#{gender}, d_id=#{dId} where id=#{id}")
    public void updateEmp(Employee employee);

    @Delete("delete from employee where id=#{id}")
    public void deleteEmpById(Integer id);

    @Insert("insert into employee(lastName, email, gender, d_id) values(#{lastName}, #{email}, #{gender}, #{dId})")
    public void insertEmp(Employee employee);
}

主程序配置注解扫描
在这里插入图片描述

@RestController
public class EmployeeController {
   
   

    @Autowired
    EmployeeService employeeService;

    @GetMapping("/emp/{id}")
    public Employee getEmployee(@PathVariable("id") Integer id){
   
   
        Employee emp = employeeService.getEmp(id);
        return emp;
    }
}

使用缓存

开启注解缓存
在这里插入图片描述
将方法返回值保存到缓存,如果再使用相同数据,直接取缓存

@Service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值