Spring Cache 是一个框架,实现了基于注解 的缓存功能,只需要简单地加一个注解,就能实现缓存功能。

Spring Cache 提供了一层抽象

底层可以切换不同的缓存实现

  • EHCache

    一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider

1.

2.

Caffeine

基于JAVA 1.8 Version的高性能缓存库 

3.

Redis

一个由意大利人Salvatore Sanfilippo开发的key-value存储系统,具有极高的读写性能,读的速度可达110000次/s,写的速度可达81000次/s

注解 说明
@EnableCaching 开启缓存注解功能,通常加在启动类上
@Cacheable 在方法执行前先查询缓存中是否有数据,如果有数据,则直接返回缓存数据;如果没有缓存数据,调用方法并将方法返回值放到缓存中
@CachePut 将方法的返回值放到缓存中
@CacheEvict 将一条或多条数据从缓存中删除

在SpringCache中提供了很多缓存操作的注解,常见的是以下的几个:

{导入依赖}

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache<artifactId>
    <version>2.7.3</version> 
</dependency>

1

  1. 导入Spring Cache和Redis相关maven坐标

2

  1. 在启动类上加入@EnableCaching注解,开启缓存注解功能

3

  1. 在用户端接口SetmealControllerlist 方法上加入@Cacheable注解

4

  1. 在管理端接口SetmealController的 save、delete、update、startOrStop等方法上加入CacheEvict注解