php 大访问量 数据重复问题

大访问量,或者受到恶意攻击的情况,数据库没有设计好,很容易产生重复数据。有三个请求,同时到达php,php同时到数据库查询,有没有数据,发现没有,同时插入3条数据。这么巧都是同时?事实确实会同时。解决办法,个人能实现的有3种。

1,通过唯一索引,联合主键限制等。例如,用户表手机号,邮箱一般都是唯一的。订单表的订单号也是唯一。

2,通过锁表。例如,现在对表进行插入操作前,php先lock表,结束后在unlock表。锁表会造成等待时间加长,特别在访问大的时候。不推荐锁表。


3,通过队列。如果三个请求同时到达php,能不能让他们依次执行呢。队列服务端监听端口,三个请求往端口发送请求,就要遵守队列的规矩了。

个人觉得,第一种方法是最好的,如果第一次方法不能满足需求,推荐第三种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值