实现的方式是用的redis的list队列,框架为laravel
核心部分为list的pop操作,此操作为原子性,即使很多用户同时到达,也是依次执行
<?php
/**
* Created by PhpStorm.
* User: chenyRain
* Date: 2018/5/28
* Time: 11:36
*/
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Redis;
class RedisController extends Controller
{
public $user_number = 50; // 允许进入队列的人数
/**
* 这个方法,相当于点击进入商品详情页,开启秒杀活动
*/
public function index()
{
$goods_number = 10; // 商品库存数量为10
if (! empty(Redis::llen('goods_name'))) {
echo '已经设置了库存了';
exit;
}