应用一个简单的redis
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
yml配置文件
redis:
# redis数据库索引(默认为0),我们使用索引为3的数据库,避免和其他数据库冲突
database: 3
# redis服务器地址(默认为loaclhost)
host: 192.168.73.12
# redis端口(默认为6379)
port: 6379
# redis访问密码(默认为空)
password: pwd123
# redis连接超时时间(单位毫秒)
timeout: 0
# redis连接池配置
pool:
# 最大可用连接数(默认为8,负数表示无限)
max-active: 8
# 最大空闲连接数(默认为8,负数表示无限)
max-idle: 8
# 最小空闲连接数(默认为0,该值只有为正数才有用)
min-idle: 0
# 从连接池中获取连接最大等待时间(默认为-1,单位为毫秒,负数表示无限)
max-wait: -1
serviceimpl
@Slf4j
@Service
public class BaseUserServiceImpl implements BaseUserService {
@Autowired
private BaseUserMapper baseUserMapper;
@Autowired
private RedisTemplate redisTemplate;
@Override
public List<BaseUser> getBaseUserInfo() {
String userListJsonStr = (String) redisTemplate.opsForValue().get("BaseUserService.getBaseUserInfo");
if(StringUtils.isNotBlank(userListJsonStr)){
List<BaseUser> users = JSON.parseArray(userListJsonStr,BaseUser.class);
log.info("走了缓存~~~~~~~");
return users;
}else{
List<BaseUser> users =baseUserMapper.findIdAndRealName();
redisTemplate.opsForValue().set("BaseUserService.getBaseUserInfo",JSON.toJSONString(users),2, TimeUnit.MINUTES);
log.info("放入缓存~~~~~~~");
return users;
}
}
}