SpringBoot缓存机制及常用注解

张开发
2026/4/17 19:15:27 15 分钟阅读

分享文章

SpringBoot缓存机制及常用注解
一、SpringBoot缓存到底是什么说白了缓存就是“临时存储”的地方。我们程序里有些数据经常被查询比如用户信息、商品列表如果每次查询都去访问数据库会很慢还会增加数据库压力。SpringBoot的缓存机制就是把这些常用数据第一次查询后存到“缓存容器”里下次再查的时候不用去数据库直接从缓存里拿速度超快还能减轻数据库负担。新手不用纠结缓存存在哪里比如内存、Redis先理解核心减少数据库访问提高查询速度。二、SpringBoot缓存怎么用核心步骤SpringBoot已经帮我们封装好了缓存功能不用写复杂代码两步就能搞定超级简单1. 启动类上加注解EnableCaching告诉SpringBoot“我要开启缓存功能啦”2. 在需要缓存的方法上加对应的缓存注解比如Cacheable就能实现缓存效果。三、常用缓存注解及用法新手必记重点记4个注解日常开发完全够用每个注解都用大白话解释一看就懂1. EnableCaching开启缓存「必加注解」只能加在启动类上作用就是开启SpringBoot的缓存功能。示例SpringBootApplication EnableCaching // 开启缓存 public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }2. Cacheable查询缓存最常用的注解加在查询方法上比如根据id查用户、查商品。作用第一次调用方法会执行方法去数据库查数据然后把查询结果存到缓存里下次再调用这个方法直接从缓存拿结果不执行方法、不查数据库。关键参数value给缓存起个名字随便写比如“user”“goods”示例// 根据id查询用户缓存结果 Cacheable(value user) public User getUserById(Long id) { // 第一次会执行这里查数据库后续不执行 return userMapper.selectById(id); }3. CachePut更新缓存加在更新方法上比如修改用户信息、修改商品价格。作用执行方法更新数据库数据同时更新缓存里的对应数据避免缓存和数据库数据不一致。注意和Cacheable不一样它每次都会执行方法然后更新缓存。示例// 更新用户信息同时更新缓存 CachePut(value user) public User updateUser(User user) { userMapper.updateById(user); // 执行更新数据库 return user; // 更新缓存里的用户数据 }4. CacheEvict删除缓存加在删除方法上比如删除用户、删除商品。作用执行方法删除数据库数据同时删除缓存里的对应数据防止缓存里还存着已删除的数据。示例// 删除用户同时删除缓存 CacheEvict(value user) public void deleteUser(Long id) { userMapper.deleteById(id); // 执行删除数据库 // 缓存里的该用户数据会自动删除 }四、新手注意事项避坑小技巧1. 必须先加EnableCaching其他缓存注解才会生效不然加了也白加2. 缓存注解要加在业务方法上Service层不要加在Controller层3. 同一个缓存名字value的值对应同一类数据比如“user”缓存就存用户相关数据避免混乱。五、简单总结1. 缓存核心减少数据库访问提高查询速度2. 核心步骤启动类加EnableCaching → 业务方法加对应缓存注解3. 4个常用注解开启缓存EnableCaching、查询缓存Cacheable、更新缓存CachePut、删除缓存CacheEvict。

更多文章