记一次并发数据重复的处理
一次并发处理
最近对一个设备做API,发现读取设备信息的时候是以广播来的
广播的形式,那就会出现并发的情况。
同一秒可能有5次的相同请求,这样导致创建两条相同的记录
用memcache的原子性,根据请求的参数去生成key,再来就判断有没有,有就返回处理中
效果如下:
可以看到第一次请求,还没返回,第二次请求就过来了,第二次请求就返回正在处理中,第三次也是与第二次相同,这时候返回第一次的处理,处理成功
第四次,第五次 保存的key还没失效,继续返回处理中,其实应该返回处理完成,可再完善,成功就把key删除。