当前位置: 首页 > news >正文

全自动网站制作系统上市公司做家具网站

全自动网站制作系统,上市公司做家具网站,wordpress移动站点,贵州润铁祥建设工程有限公司网站1.场景 遇到了一个场景,在客户给我们推送的数据中,咋1分钟左右,会有相同车辆vehicle 和时间 gpstime一样的数据,这类数据呢,我们认为是重复数据,需要过滤的 把相同 vehicle 和 gpstime 作为key存入到redis中…

1.场景

遇到了一个场景,在客户给我们推送的数据中,咋1分钟左右,会有相同车辆vehicle 和时间 gpstime一样的数据,这类数据呢,我们认为是重复数据,需要过滤的
把相同 vehicle 和 gpstime 作为key存入到redis中,过期时间为1分钟,当推送过来数据时,查询一下redis中是否有值,有则过滤
推送过来的数据呢,是批量,所以我们要批量获取key的操作,在这儿记录下操作过程

2.引入注解@Resource

@Resourceprivate RedissonClient redissonClient;

3.引入redisson的依赖

<!--redisson--><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.14.1</version></dependency>

4.推送的数据格式是json数组

JSONArray params

Map<String, RFuture<Object>> objectObject = new HashMap<>();params.forEach(json -> {try {JSONObject jsonObjectBean = JSON.parseObject(JSON.toJSONString(json));String gpsTime = jsonObjectBean.getString("lastDeviceTime");String vehicleNo = jsonObjectBean.getString("vehicleNo");String redisKey = "gps:mita:vehicle:gpstime:" + vehicleNo + ":" + gpsTime;objectObject.put(redisKey, redissonClient.getBucket(redisKey).getAsync());} catch (Exception e) {log.error("mita推送单个车辆信息异常(redis操作)=", e);}});

标记哪些是新增数据,那些是更新(已经存在的数据)
key对应的value给个1就行了,数据量小,不占内存

Map<String, Object> addDataMap = new HashMap<>();Map<String, Object> updateDataMap = new HashMap<>();for (String key : objectObject.keySet()) {Object value = objectObject.get(key).get();if (value == null) {// redis中不存在addDataMap.put(key, "1");} else {// redis中已存在updateDataMap.put(key, value);}}
// 开启批处理RBatch batch = redissonClient.createBatch();for (String redisKey : addDataMap.keySet()) {batch.getBucket(redisKey).setAsync(addDataMap.get(redisKey), 1, TimeUnit.MINUTES);}for (String redisKey : updateDataMap.keySet()) {batch.getBucket(redisKey).expireAsync(1, TimeUnit.MINUTES);}// 执行批处理batch.execute();
params.forEach(json -> {
JSONObject jsonObjectBean = JSON.parseObject(JSON.toJSONString(json));
String vehicleNo = jsonObjectBean.getString("vehicleNo");
String gpsTime = jsonObjectBean.getString("lastDeviceTime");String redisKey = "gps:mita:vehicle:gpstime:" + vehicleNo + ":" + gpsTime;
if ("1".equals(addDataMap.get(redisKey))){
// 这里面就是新增的数据了(需要的),updateDataMap 里面是需要过滤的数据
}});

学会使用redis的管道模式来批量处理key了吗

http://www.yayakq.cn/news/492669/

相关文章:

  • 年度网站建设工作总结安卓app下载
  • 刚做的网站适合做外链吗电子商务中网站开发
  • 智能建网站软件外链平台有哪些
  • 专业定制网站建设公司扬州网站商城建设价格
  • 如何建设教育信息网站企业自建网站的优缺点
  • 商务网站建设与维护 试题做网站前台模板
  • 网站美工外包公司国外做游戏的视频网站
  • 苏州网站推广如何淘宝客网站备案
  • 学校网站模板 dedecms一站式建设网站
  • 有没有做外贸的网站啊大型建设工程类考试辅导网站
  • 河北建设工程信息网官方网站上海外贸网站seo
  • wordpress手机站h5优化shopify建站
  • 网站短期培训学校网站前端建设都需要什么
  • 网站备案期间打不开设计网络平台开发
  • 做网站公司南京cpa诱导网站怎么做
  • 青海网站设计软件工程师考试
  • 可信网站认证必须做吗企业网站怎么做seo
  • 顺丰物流网站建设策划书中国企业资讯网
  • 南京市建设执业资格中心网站手机网站开发应注意
  • 帝国cms调用网站名称深汕特别合作区邮政编码
  • 免费网站空间 asp.net大型门户网站是这样炼成的源代码
  • 免费架设网站普洱网站搭建
  • 河南网站备案系统短信alexa排名分析
  • 天津哪里建网站好app营销策略有哪些
  • 小企业做网站连云港市赣榆区建设局网站
  • 那个网站做720度效果图怎么区别网站开发语言
  • 企业网站建设讲解华为软件开发流程
  • 电脑搭建网站服装设计师常用网站
  • 手机网站免费建设排行我做网站了
  • 上海租房网个人房源百度关键词相关性优化软件