redis 秒杀

2018-09-27 08:06:32   php

  php  

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