$redis = new \redis();
$result = $redis->connect('127.0.0.1', 6379);
$redis->watch("mywatchkey");
$mywatchkey = $redis->get("mywatchkey");
$stock_total = 100; //抢购数量
if($mywatchkey <$stock_total) {
$redis->multi();
$redis->set("mywatchkey", 1 + $mywatchkey);
$rob_result = $redis->exec();
$redis->lPush('user_list', $user_id);
if ($rob_result) {
$user_id = 'user_id_' . rand(1, 999999);
echo "抢购成功!
";
echo "剩余数量:".($rob_total-$mywatchkey-1)."
";
echo "用户列表:
";
var_dump($mywatchlist);
} else {
file_put_contents('./redis_fail_log', "{$user_id}\r\n", FILE_APPEND);
}
}