Redis缓存,泛型集合与json字符串的相互转换

难点是泛型如何转换

一、arrayList>转化json字符串,存入redis缓存

        

        ArrayList> listProfit 

        //将ArrayList>类型数据转换成json字符串

        String listProfitPctJsonStr = JSON.toJSONString(listProfit); 

        //然后将json字符串存入redis缓存,唯一key value
        JedisUtils.setex("listProfit", 600,listProfitPctJsonStr);

    

 

二、json字符串转回ArrayList>(难点

   

 List> listProfit=null;
 //先从redis里面去查询数据,看是否能获取到对应json字符串
 String jsonStrLp=JedisUtils.get("listProfit");

//如果能获取则说明缓存中有数据

if(!StringUtils.isBlank(jsonStrLp)){

   //目的是为了泛型的转换

   listProfit=new ArrayList>();

   //先把从redis缓存中取出来的json字符串转为List集合

   List mapList=JSON.parseArray(jsonStrLp, Map.class);

   //然后循环遍历这个List集合,得出的结果为Map,然后再强转为Map,

          再循环 把 Map添加到List集合中,搞定!!!

   for (Map map : mapList) {
        Map sObj=(Map)map;
        listProfit.add(sObj);
}

 

你可能感兴趣的:(Java)