记一次并发数据重复的处理

一次并发处理

最近对一个设备做API,发现读取设备信息的时候是以广播来的

广播的形式,那就会出现并发的情况。

同一秒可能有5次的相同请求,这样导致创建两条相同的记录

用memcache的原子性,根据请求的参数去生成key,再来就判断有没有,有就返回处理中

效果如下:

并发效果

可以看到第一次请求,还没返回,第二次请求就过来了,第二次请求就返回正在处理中,第三次也是与第二次相同,这时候返回第一次的处理,处理成功
第四次,第五次 保存的key还没失效,继续返回处理中,其实应该返回处理完成,可再完善,成功就把key删除。

原文地址:https://www.cnblogs.com/pthlp/p/9122016.html