// Maven配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
// application.yaml配置
spring:
redis:
host: 127.0.0.1
port: 6379
password:
jedis:
pool:
max-active: 8
max-wait: -1
max-idle: 500
min-idle: 0
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Serializable> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Serializable> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
@Component
@ConfigurationProperties(prefix = "redisutil")
public class RedisUtil {
private Long timeout;
public void setTimeout(Long timeout) {
this.timeout = timeout;
}
@Autowired
private RedisTemplate<String, Serializable> redisTemplate;
public Serializable get(String key) {
return redisTemplate.opsForValue().get(key);
}
public void set(String key, Serializable value) {
redisTemplate.opsForValue().set(key, value);
}
public void setAndExpire(String key, Serializable value) {
redisTemplate.opsForValue().set(key, value, timeout, TimeUnit.SECONDS);
}
public void expire(String key) {
redisTemplate.expire(key, timeout, TimeUnit.SECONDS);
}
public void delete(String key) {
redisTemplate.delete(key);
}
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Autowired
private RedisUtil redisUtil;
@Override
public List<User> findAllUsers() {
return null;
}
}