Springboot+Redis:实现缓存 减少对数据库的压力
warning:
这篇文章距离上次修改已过423天,其中的内容可能已经有所变动。
在Spring Boot中使用Redis作为缓存来减少对数据库的压力,你可以通过以下步骤实现:
- 添加依赖到你的
pom.xml或build.gradle文件中。
Maven的pom.xml中添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>Gradle的build.gradle中添加:
implementation 'org.springframework.boot:spring-boot-starter-data-redis'- 在
application.properties或application.yml中配置Redis连接。
application.properties 示例:
spring.redis.host=localhost
spring.redis.port=6379- 使用
RedisTemplate或StringRedisTemplate操作Redis。 - 创建服务并使用缓存。
示例代码:
@Service
public class CachedService {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@Autowired
private UserRepository userRepository; // 假设有一个UserRepository
@Cacheable(value = "users", key = "#id")
public User findUserById(Long id) {
return userRepository.findById(id).orElse(null);
}
public void updateUser(User user) {
userRepository.save(user);
redisTemplate.delete("users:" + user.getId()); // 删除缓存
}
}在这个例子中,findUserById方法使用了@Cacheable注解,这意味着如果缓存中存在数据,方法将不会被调用,而是直接从缓存中返回结果。updateUser方法在更新用户信息时,同时会删除缓存中对应的数据,这样在下次获取该用户信息时,会重新从数据库中获取并缓存。
评论已关闭