唯一ID+指纹码机制,利用数据库主键去重
唯一ID+指纹码机制,利用数据库主键去重
select count(1) from order_table where ID=唯一ID+指纹码
实现简单,但是高并发下数据库写入新能瓶颈
解决方案:跟进ID进行分库分表进行算法路由
利用Redis的原子性去实现
通过自定义注解+拦截器的方式
通过在Redis放一个 比如userID+goodsID的key,判断是否存在来进行幂等性保障
为需要保证幂等性的每一次请求创建一个唯一标识token
, 先获取token
, 并将此token
存入redis, 请求接口时, 将此token
放到header或者作为请求参数请求接口, 后端接口判断redis中是否存在此token如果存在直接删除再进行逻辑处理,不存则直接返回
:
代码中进行try catch 如果提交失败在catch里面再把token放回redis以便再一次提交
如果并发很大 还可以把红色字体部分redis操作加上事务。