先将商品库存存入队列:
<?php
$store=1000; //商品库存
$redis=new Redis();
$result=$redis->connect('127.0.0.1',6379);
$res=$redis->llen('goods_store');
for($i=0; $i<$store; $i++){
$redis->lpush('goods_store',1);
}
echo $redis->llen('goods_store');
?>
客户执行下单操作:
$redis=new Redis();
$result=$redis->connect('127.0.0.1',6379);
$count = $redis->lpop('goods_store');
if(!$count){
echo '抢购失败!';
return;
}
`
缓存也是可以应对写请求的,比如我们就可以把数据库中的库存数据转移到Redis缓存中,所有减库存操作都在Redis中进行,然后再通过后台进程把Redis中的用户秒杀请求同步到数据库中