<?php //php秒殺 redis並發處理 function miaoshao(){ $redis = new Redis;//diy redis操作類 //連接 $redis->connect('127.0.0.1', 6379,30); //設置密碼 $redis->auth('junyi'); //獲取庫存出售的數量,默認為空 $kuchun = $redis -> get('kucun'); $total = 100; if ($kuchun < $total){ //有庫存 $redis -> watch('kucun'); //開啟事務 $redis->multi(); $redis->set("kucun",$kuchun+1); //執行事務 $result = $redis->exec(); if($result){ //剩余數量 $number = $total - ($kuchun +1); //$openid 用戶id $openid = $number; $redis-> hset("list","user_".$openid,$kuchun); //獲取搶購成功的用戶 $data = $redis-> hgetall('list'); var_dump($data); var_dump($number); }else{ var_dump('手氣很差哦,再試一下!'); } }else{ var_dump('已經被搶光了'); } }
原文:http://www.liusongs.com/archives/419