介绍:
什么是Spring Cache技术
Spring Cache技术是Spring官方提供的缓存抽象框架,这个技术大大简化了Java原始操作缓存的操作,提供了统一的操作方式操作缓存(Redis、Encache)
第一次学习这个技术感觉真的很爽有没有,注解直接可以实现原来的添加删除读取缓存操作。
怎么使用Spring Cache技术
第一步: 在pom.xml中导入Spring Cache的坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
第二步: 在启动类中添加@EnableCaching注解以使项目启动的时候能加载Spring Cache
第三步: 在对应的类或方法上加上框架提供的注解,分别有@Cacheable,@CachePut,@CacheEvict
@Service
public class MyService {
@Cacheable(value = "myCache", key = "#key")
public String getData(String key) {
// 实际的方法逻辑
return fetchDataFromDatabase(key);
}
@CachePut(value = "myCache", key = "#key")
public String updateData(String key, String newData) {
// 更新数据的逻辑
return newData;
}
@CacheEvict(value = "myCache", key = "#key")
public void deleteData(String key) {
// 删除数据的逻辑
}
private String fetchDataFromDatabase(String key) {
// 从数据库获取数据的逻辑
return "Data for key: " + key;
}
}
各个注解的作用
1.@Cacheable(value = "",key = "")
Cacheable注解提供了缓存的读取和写入操作,如果缓存中有对应key的数据就直接返回对应的缓存,否则就执行方法中的逻辑然后将返回值写入缓存中
2.@CachePut(Value = "",key = "")
CachePut注解将方法的返回值写入缓存.
2.@CacheEvict(Value = "",key = "")
CacheEvict注解将对应key的缓存删除
注解参数介绍
condition="SpEL表达式".当表达式成立的时候缓存对应数据,在方法执行之前判断
unless="SpEL表达式".当表达式成立的时候不缓存数据,在方法执行之后判断
如何在Spring Cache框架下使用Redis
导入对应的Redis坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
以上是在学习外卖项目中遇到的新技术,可以很好的简化缓存逻辑代码的书写,共勉!