目前看到最可靠的redis搶購程序。首先用Redis的隊列模式進行搶購,當搶到的用戶保存在另一個隊列當中。而後用戶進入php
<?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 '搶購成功'; } ?>
判斷是否搶到商品生成訂單redis
<?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);//刪除用戶防止屢次生成訂單 //如下就是訂單處理了......
文章提供僅提供參考!tcp