springboot使用redis缓存
时间: 2023-05-31 13:04:29 浏览: 152
Spring Boot可以很方便地与Redis集成,使用Redis作为缓存进行数据存储和查询。
下面是使用Spring Boot和Redis缓存的步骤:
1. 添加依赖
在`pom.xml`文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
2. 配置Redis
在`application.properties`中添加以下配置:
```properties
spring.redis.host=localhost
spring.redis.port=6379
```
3. 创建RedisTemplate
创建RedisTemplate实例,用于操作Redis缓存。
```java
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}
```
4. 使用Redis缓存
在需要使用缓存的方法上添加`@Cacheable`注解,指定缓存的key,如下所示:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@Override
@Cacheable(value = "user", key = "#id")
public User getUserById(Long id) {
// 从数据库中查询用户信息
User user = userDao.getUserById(id);
return user;
}
}
```
当第一次调用`getUserById`方法时,会从数据库中查询用户信息,并将结果存储在Redis缓存中;当再次调用`getUserById`方法时,会从Redis缓存中获取用户信息,提高查询效率。
除了`@Cacheable`注解外,还有`@CachePut`、`@CacheEvict`等注解可以用于操作Redis缓存。
阅读全文
相关推荐



















