# SpringCacheDemo
**Repository Path**: Lollipope/spring-cache-demo
## Basic Information
- **Project Name**: SpringCacheDemo
- **Description**: Spring Cache是⼀个框架,实现了基于注解的缓存功能,只需要简单地加⼀个注解,就能实现缓存功能,⼤⼤
简化我们在业务中操作缓存的代码。
在spring boot项⽬中,使⽤缓存技术只需在项⽬中导入相关缓存技术的依赖包,并在启动类上使⽤
@EnableCaching开启缓存⽀持即可。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-09-02
- **Last Updated**: 2024-09-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 4. SpringCache
4.1 介绍
Spring Cache是⼀个框架,实现了基于注解的缓存功能,只需要简单地加⼀个注解,就能实现缓存功能,⼤⼤
简化我们在业务中操作缓存的代码。
`Spring Cache`只是提供了⼀层抽象,底层可以切换不同的cache实现。具体就是通过CacheManager接⼝来统⼀
不同的缓存技术。CacheManager是Spring提供的各种缓存技术抽象接⼝。
|注解 | 说明 |
|:---:|:-----------------------------------------|
| `@EnableCaching` | 开启缓存注解功能 |
| `@Cacheable` | 在⽅法执⾏前spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调⽤⽅法并将⽅法返回值放到缓存中 |
| `@CachePut` | 将⽅法的返回值放到缓存中 |
| `@CacheEvict` | 将⼀条或多条数据从缓存中删除 |
在spring boot项⽬中,使⽤缓存技术只需在项⽬中导入相关缓存技术的依赖包,并在启动类上使⽤
@EnableCaching开启缓存⽀持即可。
## 由于SpringCache的基本功能是Spring核⼼(spring-context)中提供的,所以⽬前我们进⾏简单的SpringCache测试,是可以不⽤额外引入其他依赖的。
其实这个框架的目的就是用注解的方式替换写代码语句来缓存到Redis中(RedisConfig)
使用方式:
1). pom.xml中引入依赖
```xml
org.springframework.boot
spring-boot-starter-cache
org.springframework.boot
spring-boot-starter-data-redis
```
2). application.yml中设置缓存过期时间
```yaml
spring:
cache:
redis:
time-to-live: 1800000 #设置缓存数据的过期时间
```
3). 启动类上加入@EnableCaching注解
```java
@Slf4j
@SpringBootApplication
@ServletComponentScan
@EnableTransactionManagement
@EnableCaching //开启SpringCache注解方式是缓存功能
public class RgApplication {
public static void main(String[] args) {
SpringApplication.run(RgApplication.class, args);
log.info("项目启动成功...");
}
}
```