//這個方法會多一次 public function testRedisList(){ $num = 10; $user_id = uniqid(); //直接鏈接本地的redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $len = $redis->lLen('listUser'); if($len >= $num){ return "已經強光了"; } $result = $redis->lPush("listUser", $user_id); if($result){ return "恭喜您,強大熬了"; } } //初始化 public function testRedisListInit(){ $num = 10; $user_id = uniqid(); //直接鏈接本地的redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $len = $redis->lLen('listUser'); $count = $num - $len; for($i = 0; $i < $count; $i++){ $redis->lPush("listUser", 1); } } //這個方法會多一次 public function testRedisListOk(){ $user_id = uniqid(); //直接鏈接本地的redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379); //開始搶了 $leave = $redis->lPop("listUser"); if(!$leave){ return "已經強光了"; } //每個搶成功多人,我把他的用戶id存起來 $result = $redis->lPush("Users", $user_id); if($result){ return "恭喜您,你成功了"; } } public function testRedisListDel(){ //直接鏈接本地的redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379); //先刪除 var_dump($redis->del("listUser")); var_dump($redis->del("Users")); } public function testRedisListResult(){ $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $len = $redis->lLen('listUser'); $usersCount = $redis->lLen('Users'); var_dump($len); var_dump($usersCount); }
總結:使用redis列表來做秒殺活動還是不錯的