redis实现高并发下的抢购/秒杀功能

之前写过一篇文章,高并发的解决思路(点此进入查看),今天再次抽空整理下实际场景中的具体代码逻辑实现吧:抢购/秒杀是如今很常见的一个应用场景,那么高并发竞争下如何解决超抢(或超卖库存不足为负数的问题)呢?常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数这里我就只谈redis的解决方案吧...我们先来看以下代码(这里我以laravel为例吧)是否能正确解决超抢/卖的问题:<?php  &n 阅读全部

异常状态码一览表

### 异常状态码一览表 > 请先阅读本文档下有关异常处理的章节。 以下的异常状态码是各个基础服务通用的,各个基础服务可根据业务需要自行扩展,但禁止覆写通用异常状态码,以免引起歧义。 需要注意的是,`errmsg`字段的值仅为`errcode`字段的值对照的错误信息,供业务方判断异常状态。但业务方在业务逻辑上不应该依赖`errmsg`字段的值,而应该只依赖`errcode`字段。 | errcode | errmsg 阅读全部

mysql in语句优化

mysql会对sql语句做优化, in 后面的条件不超过一定数量仍然会使用索引。mysql 会根据索引长度和in后面条件数量判断是否使用索引。另外,如果是in后面是子查询,则不会使用索引。一个文章库,里面有两个表:category和article。category里面有10条分类数据。article里面有 20万条。article里面有一个"article_category"字段是与category里的"category_id"字段相对应的。 articl 阅读全部