处理MySQL高并发的注意事项有哪些
新闻资讯

处理MySQL高并发的注意事项有哪些

发布时间:2021-05-17 浏览次数:98

作为消费者,我们经常会参加一些团购、低价之类的活动,而电子商务网站作为承受活动的载体,每逢这个时候就会出现访问量激增的情况,这时候的数据库就会出现拥挤状态,这时就要对数据库进行MySQL高并发处理,那么质量可靠的MySQL高并发‍应该注意哪些事项呢?


8b37a69eab95c89e


‍1、在活动情况下,肯定不能如此高频率的去读写数据库,会严重造成性能问题的


必须使用缓存,将需要搞活动的商品放入缓存中,并使用锁来处理其并发情况。当接到用户活动提交订单的情况下,先将商品数量递减(加锁/解锁)后再进行其他方面的处理,处理失败在将数据递增1(加锁/解锁),否则表示交易成功。

当商品数量递减到0时,表示商品活动完毕,拒绝其他用户的请求。


2、这个肯定不能直接操作数据库的,会挂的。直接读库写库对数据库压力太大,要用缓存。

把你要卖出的商品比如10个商品放到缓存中;然后在memcache里设置一个计数器来记录请求数,这个请求书你可以以你要卖出的商品数为基数,比如你想卖出10个商品,只允许100个请求进来。那当计数器达到100的时候,后面进来的就显示活动结束,这样可以减轻你的服务器的压力。然后根据这100个请求,先付款的先得后付款的提示商品以卖完。


3、首先,多用户并发修改同一条记录时,肯定是后提交的用户将覆盖掉前者提交的结果了这个直接可以使用加锁机制去解决,乐观锁或者悲观锁。


‍不建议在数据库层面加锁,建议通过服务端的内存锁(锁主键)。当某个用户要修改某个id的数据时,把要修改的id存入memcache,若其他用户触发修改此id的数据时,读到memcache有这个id的值时,就阻止那个用户修改。


以上就是小编为大家总结的关于MySQL高并发‍的一些注意事项,活动商品的库存肯定是很有限的,如何在高并发时期控制好库存,不让超买现象出现,防止不必要损失情况的出现,是众多电子商务网站程序员头疼的问题,只要大家利用好MySQL高并发‍处理系统,这些难题就不会成为大家的困扰。


相关推荐

产品试用 产品试用
400-820-6580 免费电话