在高并发下,首先会新增数据到有序集合,并未验证数量,倘若在这一刻,就一件商品,多个用户都在抢购,这样的代码是否会造成超卖:
Mredis.class.php 中 set_value 这个方法:
public function set_value($value){ if(!$this->redis->get('flag')){ $this->redis->set('flag',1); } if($this->redis->zAdd($this->key,$this->reids->get('flag'),$value)){ $this->redis->incr('flag'); } if($this->redis->get('flag')>$this->max){ return 'overflow'; } }
个人认为会超卖,请老师解答下哦
建议压力测试一下