redis秒杀商品队列
发表于2016/9/19 14:10:20 1004人阅读
$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;
}
}
}
进行压力测试
你的问题?
不知道提问者想表达什么 其实就是一篇文章
文章内容:http://blog.csdn.net/ztblog/article/details/52585316