秒杀系统的问题1.短时间内服务负载高2.高并发超卖$redis = new /Redis(); if ($redis->connect('127.0.0.1','6379') == false) { die($redis->getLastError()); }使用redis的原子性操作,保证不多抢
if($_GET['flag']){ $redis->set('flag',10);exit;} $key_r = $redis->decr('flag');//利用redis的原子性操作,保证不多抢if ($key_r < 0) { } else { //抢到了 $value="test".rand("1","20"); $redis->zAdd('demo',$redis->get('flag'),$value); $rs=$redis->zRange('demo',0,-1); //PRint_r($key_r); if(count($rs)+$key_r<10){ $redis->set('flag',$key_r+1); }}
新闻热点
疑难解答