<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
@Configuration
@EnableRedisRepositories
public class RedisConfig {
@Bean
public RedisConnectionFactory redisConnectionFactory() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
lettuceConnectionFactory.setHostName("localhost");
lettuceConnectionFactory.setPort(6379);
return lettuceConnectionFactory;
}
@Bean
public RedisTemplate<?, ?> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<?, ?> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
return redisTemplate;
}
}
@RedisHash("users")
public class User {
@Id
private String id;
private String name;
}
@Service
public class UserService {
@Autowired
private RedisTemplate<String, User> redisTemplate;
public void save(User user) {
redisTemplate.opsForHash().put("users", user.getId(), user);
}
public User findById(String id) {
return (User) redisTemplate.opsForHash().get("users", id);
}
public void delete(String id) {
redisTemplate.opsForHash().delete("users", id);
}
}