java多次请求数据库_详解java解决分布式环境中高并发环境下数据插入重复问题|chu...

java 解决分布式环境中 高并发环境下数据插入重复问题

前言

原因:服务器同时接受到的重复请求

现象:数据重复插入 / 修改操作

解决方案 : 分布式锁

对请求报文生成 摘要信息 + redis 实现分布式锁

工具类

分布式锁的应用

package com.nursling.web.filter.context; import com.nursling.nosql.redis.RedisUtil; import com.nursling.sign.SignType; import com.nursling.sign.SignUtil; import redis.clients.jedis.Jedis; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; /** * 并发拦截 * 高并发下 过滤掉 相同请求的工具 * @author 杨. * */ public class ContextLJ { private static final Integer JD = 0; /** * 上锁 使用redis 为分布式项目 加锁 * @param sign * @param tiD * @return * @throws Exception */ public static boolean lock(String sign, String tiD) { synchronized (JD) { // 加锁 Jedis jedis = RedisUtil.getJedis(); String uTid = jedis.get(sign); if (uTid == null) { jedis.set(sign, tiD); jedis

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值