参考代码:

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();
}

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

  1. 双汇大数据方案选型:从棘手的InfluxDB+Redis到毫秒级查询的TDengine

    双汇发展多个分厂的能源管控大数据系统主要采用两种技术栈:InfluxDB/Redis和Kafka/Redis/HBase/Flink,对于中小型研发团队来讲,无论是系统搭建,还是实施运维都非常棘手.经 ...

  2. 【PHP】如何将SESSION数据存放到Redis中

    在php中,SESSION的数据默认是存放到文件中,这样性能不仅不高,而且不利于扩展.在搭建集群后,默认存放到文件中就不适用了.所以,我们一般将SESSION自定义,让SESSION中的数据存放到 数 ...

  3. asp.net mvc 数据查询赋值到文本框中

    大家做了很多文本框查询并且赋值回来 1.先是把数据对象查询结果后台,然后把对象赋值给对象在赋值回来前台页面 2.使用@html helerper 数据查询,使用 ViewContext.RouteDa ...

  4. ECMall关于数据查询缓存的问题

    刚接触Ecmall的二次开发不久,接到一个任务.很常见的任务,主要是对数据库进行一些操作,其中查询的方法我写成这样: 01 function get_order_data($goods_id) 02 ...

  5. JDBC在javaweb中的应用之分页数据查询

    分页查询 分页查询是java web开发中经常使用到的技术.在数据库中数据量非常大的情况下,不适合将所有的数据全部显示到一个页面中,同时为了节约程序以及数据库的资源,就需要对数据进行分页查询操作. 通 ...

  6. sql server中的分页数据查询

    1.引言 今天在工作中遇到一个需要进行sql server分页数据查询的问题,但是分页数据查询的sql却忘记了,最终通过查询资料解决了该问题.现在把解决方法记下,以备查阅. 在这里需要感谢博客园的Ql ...

  7. Django中数据查询(万能下换线,聚合,F,Q)

    数据查询中万能的下划线基本用法: __contains: 包含 __icontains: 包含(忽略大小写) __startswith: 以什么开头 __istartswith: 以什么开头(忽略大小 ...

  8. Laravel Eloquent 数据查询结果中日期的格式化

    两种情况: 使用 Model 的查询 例如: $item = App\Models\Apple::first(); $date = $item->created_at->format('Y ...

  9. 8.15 session 有效时间, session在数据查询中最后不用

    1.在tomcat-->conf-->conf/web.xm中的<session-config>中设置: <session-config> <session- ...

随机推荐

  1. Cassini(卡西尼)投影

     

  2. php中五种常见的设计模式

    设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma.Richard Helm.Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”).所 ...

  3. IronPython for ASP.NET 部署注意事项

    用 IronPython for ASP.NET 开发的网站,在部署时,除了发布 bin 目录下的 IronPython.dll, IronMath.dll, Microsoft.Web.IronPy ...

  4. poj 3469 Dual Core CPU——最小割

    题目:http://poj.org/problem?id=3469 最小割裸题. 那个限制就是在 i.j 之间连双向边. 根据本题能引出网络流中二元关系的种种. 别忘了写 if ( x==n+1 ) ...

  5. bzoj 4823 & 洛谷 P3756 老C的方块 —— 最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4823 https://www.luogu.org/problemnew/show/P3756 ...

  6. 不同类型input尺寸设置区别

    最近发现为不用类型的input设置相同的尺寸,却得到了不一样的尺寸结果.发现不同类型的input的height和width竟然含义不同.在此小整理一下. (1)button类型 规律 button类型 ...

  7. TreeView控件实践

    TreeView控件可以通过HierarchicalDataTemplate 和 DataTemplate来自定义. 1)HierarchicalDataTemplate用来支持HeaderedIte ...

  8. 【转】Pro Android学习笔记(十八):用户界面和控制(6):Adapter和AdapterView

    目录(?)[-] SimpleCursorAdapter 系统预置的layout ArrayAdapter 动态数据增插删排序 自定义TextView风格 其他Adapter AdapterView不 ...

  9. Sql server 2008 R2 导出/导入数据报错之无法打开全局共享内存以与性能 DLL 通信

  10. linux命令-gzip压缩

    把很大的目录/文件压缩成更小的文件,传输节省带宽,从服务端到客户端下载过程节省时间,减少带宽,节省使用率.使用cpu的资源. 压缩命令gzip [root@wangshaojun ~]# ls111. ...