redis秒杀商品队列,redis商品队列
$user_id=session('user_id');header("Content-type:text/html;charset=utf-8");
$redis = new \Redis();
$redis -> connect('127.0.0.1',6379);
//$redis -> set('test1',"10"); //抢购商品有10件
$incr=$redis -> INCR("page_view"); //自增 可以用来做页面访问量
echo "当前访问量为$incr";echo "</br>";
//判断抢购商品是否被抢购完
if($redis -> get('test1')<=0)
{
echo "完事了";
}else
{
$redis -> LPUSH('user_ok',$user_id); //将抢购成功的用户存入队列中
$userinfo=$redis -> LRANGE('user_ok',0,10); //取出队列中的前十位作为抢购成功的人 其实在这里也就是取出人数
//抢购一个商品减去一个
echo "还剩余".$redis->decr('test1');
echo "</br>";
foreach ($userinfo as $k => $v)
{
//防止一个用户多次抢购
if($v==$user_id)
{
echo "您已经抢购成功了";die;
}
}
}
进行压力测试
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。