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

记一次多线程插入或者更新数据库表操作优化过程

背景:有个数百万的数据,需要尽快入库,使用了多线程处理,先查询数据库是否存在,存在则更新;否则插入;

问题:数据库相同key的数据,有时候插入多条。

解决办法:

 

String lockKey =getLockKey(t); //根据md5算法,将多个列,生成一个md5Valuesynchronized(lockKey.intern()){Object value = redisUtil.hget(“Test111Md5Value”,lockKey);if(value != null){log.info("开始更新...");test111Mapper.updateTest111(t);}else{log.info("开始插入...");test111Mapper.insertTest111(t);redisUtil.hset("Test111Md5Value",lockKey,"1");}}

 

http://www.zskr.cn/news/49531.html

相关文章:

  • 2025年进口干冰机代理工厂权威推荐榜单:干冰清洗机/干冰制造机源头厂家精选
  • 接口调试利器,Postman免安装,免登陆 - 详解
  • 2025年w70钨铜棒制造企业权威推荐榜单:钨铜导电块/钨铜块/93钨合金源头厂家精选
  • 嵌入式系统profinet转devicenet固件与硬件接口的连接案例
  • 一个通过强制使用符号来避免链接器忽略符号的方法
  • c++初学者的随笔记录_4
  • 自动化控制Devicenet转Profinet—PLC分布式控制架构的网关连接案例
  • 2025年专业的卷被机工厂权威推荐榜单:好的卷被机/不错的卷被机/卷被机品牌厂家精选
  • 2025 年 11 月 Pogopin 弹簧针厂家推荐排行榜,精密测试针,医疗传感器,手机连接器,声学弹簧,触摸仪表,手表锁具,座椅检测优质公司推荐
  • 国标GB28181算法算力平台EasyGBS如何赋能现代应急指挥体系?
  • xcode 打包 报错 main.jsbundle does not exist.
  • OpenObserve日志分析平台
  • 鸿蒙应用开发之ArkUI框架基础布局(二)
  • JS的数组操作
  • 开启pg_trgm扩展
  • AntV X6 实现鼠标右键框选 - cola
  • 网络安全主动防御技术与应用 - 指南
  • IDEA开发过程中Module的Compiler Output和Artifact的关系
  • IDEA开发过程中Artifact和Maven有什么区别
  • 样式,草稿
  • 6、表联结 JOIN
  • 易基因:郑州大学第一附属医院孙同文教授团队利用表观多组学揭示二甲双胍通过DNA甲基化和羟甲基化双向调控减轻肝损伤的保护机制|项目文章
  • kettle 从excel中读取需要同步的表到另一个数据库中
  • 2025 年 11 月断桥铝窗/门/系统窗/门窗/窗户厂家推荐排行榜,专业定制与节能性能口碑之选
  • 是的
  • 开源项目,全网音乐免费听,太牛逼啦,XiaoMusic 无限点歌机~~~~
  • 手把手教你部署智能合约 - all-in
  • 纯HTML + CSS + JS 实现Popup弹窗
  • 2025年轴承钢砂批发厂家权威推荐榜单:合金钢砂/钢砂/钢砂价格源头厂家精选
  • Proxmox VE9.0优化-删除订阅窗