1、根据库存,生成库存链表
public function createList() {
$key = "order_list:";
//库存数
$num = 100;
for ($i = 0; $i < $num; $i++) {
$this->redis->lPush($key, 1);
}
echo "success";
die;
}
2、抢购开始代码
public function buy() {
$user_id = rand(1, 100);
$key = "order_list:";
$user_key = "user_list:";
$result = $this->redis->blPop($key, 1);
if (!$result) {
echo "抢购失败";
die;
} else {
//判断是否已经抢购成功了
$user = $this->redis->sIsMember($user_key, $user_id);
if ($user) {
$this->redis->lPush($key, 1);
echo "您已抢购成功";
die;
} else {
$user = $this->redis->sAdd($user_key, $user_id);
echo "抢购成功";
die;
}
}
}