springboot redis 示例
时间: 2023-07-08 09:08:35 浏览: 95
好的,下面是一个使用 Spring Boot 和 Redis 的示例:
1. 添加 Redis 依赖
在 `pom.xml` 文件中添加 Redis 依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
2. 配置 Redis
在 `application.properties` 文件中配置 Redis:
```
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器连接密码(默认为空)
spring.redis.password=
```
3. 创建 RedisTemplate Bean
```java
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
// 设置key和value的序列化方式
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}
```
4. 使用 RedisTemplate 操作 Redis
```java
@Service
public class UserService {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public User getUserById(Long id) {
String key = "user:" + id;
User user = (User) redisTemplate.opsForValue().get(key);
if (user == null) {
// 从数据库中获取用户信息
user = userRepository.findById(id).orElse(null);
if (user != null) {
// 将用户信息存入 Redis
redisTemplate.opsForValue().set(key, user);
}
}
return user;
}
}
```
以上代码示例中,我们使用 `RedisTemplate` 对象来操作 Redis。在 `getUserById` 方法中,我们先从 Redis 中获取用户信息,如果 Redis 中不存在,则从数据库中获取用户信息,并且将获取到的用户信息存入 Redis 中。
注意,在 `RedisConfig` 类中,我们设置了 `key` 和 `value` 的序列化方式,这里我们使用了 `StringRedisSerializer` 和 `GenericJackson2JsonRedisSerializer`,也可以根据具体需求自定义序列化方式。
阅读全文