//这个方法会多一次 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列表来做秒杀活动还是不错的