SpringBootRedis 整合案例
时间: 2024-05-11 09:20:06 浏览: 46
好的,下面是一个简单的 Spring Boot 整合 Redis 的案例。
首先,需要在 pom.xml 中添加 Redis 的依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
然后,在 application.properties 中配置 Redis 连接信息:
```
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
```
接着,在 Spring Boot 应用启动类上添加 `@EnableCaching` 注解开启缓存功能,同时在需要使用 Redis 的地方,可以使用 `@Cacheable`、`@CachePut`、`@CacheEvict` 等注解进行缓存操作。
例如,下面是一个简单的缓存示例:
```java
@Service
public class UserService {
// 声明一个 RedisTemplate 对象
@Autowired
private RedisTemplate<String, Object> redisTemplate;
// 声明一个 CacheManager 对象
@Autowired
private CacheManager cacheManager;
// 使用 @Cacheable 注解进行缓存
@Cacheable(value = "userCache", key = "#id")
public User getUserById(String id) {
// 先从缓存中获取数据
User user = (User) redisTemplate.opsForValue().get(id);
if (user != null) {
return user;
}
// 如果缓存中没有数据,则从数据库中获取数据
user = userRepository.findById(id);
// 将获取的数据放入缓存中
redisTemplate.opsForValue().set(id, user);
return user;
}
// 使用 @CachePut 注解进行缓存更新
@CachePut(value = "userCache", key = "#user.id")
public User updateUser(User user) {
userRepository.update(user);
return user;
}
// 使用 @CacheEvict 注解进行缓存清除
@CacheEvict(value = "userCache", key = "#id")
public void deleteUserById(String id) {
userRepository.deleteById(id);
}
}
```
以上就是一个简单的 Spring Boot 整合 Redis 的案例,当然还有很多 Redis 的高级用法,可以根据实际需求进行使用。
阅读全文