在redis缓存时,我是存的一个实体集合进去
redisTemplate.opsForValue().set("mi",sysMapper.selectByFkTypeCode("ofm"));
在启动时存入redis
下面是我获取redis的缓存数据
List<Sys> sys = redisTemplate.opsForValue().get("mi");
注意:虽然我存入的是实体集合,但是取出来的时候是一个json对象,需要自己去转换数据
String mi=sysTbDictCodes.toString();
上面这句话是把整个json对象转换成字符串
然后我获取的字符串是 [{},{}] 这样的格式
使用截取字符串把它变成{},{} 这种格式
mi=mi.substring(1, miji.length() - 1);
下面把它存为字符串数组
String[] mijiArr = miji.split("},");
然后循环取值(每个人的缓存数据不一样,以下的自行理解)
ArcTb arcTb = new ArcTb();
for(int j = 0; j < mijiArr.length; j++){
if (j != mijiArr.length - 1) {
mijiArr[j] = mijiArr[j] + "}";
}
JSONObject jsonObject = JSON.parseObject(mijiArr[j]);
if(jsonObject.get("value").equals(arcTbFile.getName())){
arcTb.setFd(Integer.parseInt(jsonObject.get("fd").toString()));
arcTb.setValue(jsonObject.get("value").toString());
}