PHP-Redis抢购

目前看到最可靠的redis抢购程序。首先用Redis的队列模式进行抢购,当抢到的用户保存在另外一个队列当中。然后用户进入

<?php 
$redis = new Redis(array(
    'scheme' => 'tcp',
    'host'   => '127.0.0.1',
    'port'   => '6379'
));

$redis->auth('123456');

//用户ID
$user_id = $_SESSION['user_id'];

$check = $redis->lpop('goods:1');//list类型 左边弹出
if(!$check){
    exit('抢光了');
}

$result = $redis->lpush('order:1',$user_id); //list类型左边赋值
if($result){
    echo '抢购成功';
}

?>

判断是否抢到商品生成订单

<?php

$redis = new Redis(array(
    'scheme' => 'tcp',
    'host'   => '127.0.0.1',
    'port'   => '6379'
));

$redis->auth('123456');

//用户ID
$user_id = $_SESSION['user_id'];

$redis->lrem('order:1',$_SESSION['user_id'],1);//删除用户防止多次生成订单

//以下就是订单处理了......

 文章提供仅提供参考!

猜你喜欢

转载自www.cnblogs.com/TuWenHao/p/9159506.html