• 根据从redis缓存的数据查询出来,在从数据库中取出所有的数据,俩个数据进行比较,去掉重复,剩下库中新插入的数据,取出新数据,然后把redis中的缓存数据清空把从数据库中查出来的所有数据放到redis缓存中


    参考代码:

    public String getNewCenter(HttpServletRequest request,HttpServletResponse resonse){
    JSONObject result = new JSONObject();
    Jedis jedis = null;
    try{
    jedis = JedisPoolManager.getResource();
    List<BoardBean> listSelect = new ArrayList<BoardBean>();
    List<BoardBean> listTemp = new ArrayList<BoardBean>();
    List<BoardBean> listTemp2 = new ArrayList<BoardBean>();
    List<BoardBean> listNew = new ArrayList<BoardBean>();
    boolean flag = false;
    //从redis中获取临时存的数据
    String strJson = jedis.get(NianHuoJieConstant.NEW_MEIWU_CENTER_KEY);
    if(strJson !=null && strJson != ""){
    listTemp = JSONArray.parseArray(strJson, BoardBean.class);
    }
    //从库中获取所有的数据
    BoardQueryTerms bqt = this.getBoardQueryTerms(request);
    listSelect = this.boardService.getMapBoardBeansByQueryTerms(bqt);

    //把新增的数据添加到listNew中,根据查出所有的数据和临时数据做比较,把最新的数据取出来
    if(listTemp!=null){
    if(listSelect.size()>0 && listTemp.size()>0){
    for(BoardBean a:listSelect){
    for(BoardBean b:listTemp){
    if(a.getBoard_id()==b.getBoard_id()){
    flag=true;
    break;
    }
    }
    if(!flag){
    listNew.add(a);
    }
    flag=false;
    }

    }
    }

    //把查出来的所有数据放到临时list存储
    if(listSelect!=null){
    if(listSelect.size()>0){
    for(int i=0;i<listSelect.size();i++){
    listTemp2.add(listSelect.get(i));
    }
    jedis.del(NianHuoJieConstant.NEW_MEIWU_CENTER_KEY);//清空上一次存储redis的数据
    String jsonstr = JSONArray.toJSONString(listTemp2);
    jedis.set(NianHuoJieConstant.NEW_MEIWU_CENTER_KEY, jsonstr);//把临时存的数据放到redis中
    }
    }


    result.put("listNew", listNew);//去掉重复后库中新增的数据

    result.put("curBoardQueryTerms", bqt);
    }catch(Exception e){
    e.printStackTrace();
    }finally{
    JedisPoolManager.returnResource(jedis);
    }
    return result.toString();
    }

  • 相关阅读:
    剑指offer2:替换空格
    题目:求第五个人的年龄
    编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)
    原创| 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
    编程题30 题目:将一个数组逆序输出。
    编程题32 题目:取一个整数a从右端开始的4~7位。
    编程题31 题目:将一个数组逆序输出。
    daisy的词源
    2018年学习日志
    11
  • 原文地址:https://www.cnblogs.com/flywang/p/5291385.html
Copyright © 2020-2023  润新知