注:
redis中一般缓存一些不经常发生变化的数据 当数据库中的数据进行了增删改的相关操作,需要将redis缓存数据情况,再次存入
- 先从redis中查询数据
- 获取redis客户端连接
- 判断获取的数据是否为空
- 如果reids中没有数据 从数据库中查询,将查询结构list序列化json,将json存入redis
- 归还连接
- 返回json串
public String findAllJson() {
//1.先从redis中查询数据
//1.1获取redis客户端连接
Jedis jedis = JedisPoolUtils.getJedis();
String province_json = jedis.get("province");
//2判断 province_json 数据是否为null
if(province_json == null || province_json.length() == 0){
//redis中没有数据
System.out.println("redis中没数据,查询数据库...");
//2.1从数据中查询
List<Province> ps = dao.findAll();
//2.2将list序列化为json
ObjectMapper mapper = new ObjectMapper();
try {
province_json = mapper.writeValueAsString(ps);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
//2.3 将json数据存入redis
jedis.set("province",province_json);
//归还连接
jedis.close();
}else{
System.out.println("redis中有数据,查询缓存...");
}
return province_json;
}