2019独角兽企业重金招聘Python工程师标准>>>

<?php
header("Content-type:text/html;charset=utf-8");
include 'QRedis.php';
$redis = new QRedis();$type = $_GET['type']; //if:用if判断 ,redis:用redis队列 ,num:设置库存
//用户id
$user_id = rand(1, 10000);
//库存
$num = 50;if ($type == 'num'){    //重新恢复库存个数为$num和订单队列个数为0$redis->clearlist('goods_list');$redis->clearlist('order_user_id');for ($i = 0; $i < $num; $i++){$redis->addRlist('goods_list',1);                       //有多少库存 就向key(goods_list) push多少个数,这个数没有实际意义,仅仅代表一件库存} var_dump($redis->listcount('goods_list'));
}else if ($type == 'if'){//检查库存$len = $redis->listcount('order_user_id');                  //这个地方就是类型统计查询数据库的“多线程”if($len >= $num){                                           exit('抢光了');}//把抢到的用户存入到列表中$result = $redis->addRlist('order_user_id',$user_id);if($result){echo '抢购成功';}
}else if ($type == 'redis'){$check = $redis->lpoplist('goods_list');                    //Redis的原子操作来实现这个“单线程”if(!$check){exit('抢光了');}$result = $redis->addRlist('order_user_id',$user_id);if($result){echo '抢购成功';}
}
?>

用apache自带工具ab.exe  发起多并发

ab.exe -n 10000 -c 200 http://192.168.0.106:8181/redis/qianggou.php?type=if

200人访问1w次

卖出去51个

转载于:https://my.oschina.net/guodingding/blog/896770

用redis解决超卖相关推荐

  1. redis mysql 解决超卖_Redis 分布式锁解决超卖问题

    Redis 分布式锁解决超卖问题 1,Redis 事物介绍 1. Redis 事物是可以一次执行多个命令, 本质是一组命令的集合. 2. 一个事务中的所有命令都会序列化, 按顺序串行化的执行而不会被其 ...

  2. 使用Redis分布式锁处理并发,解决超卖问题

    使用Redis分布式锁处理并发,解决超卖问题 参考文章: (1)使用Redis分布式锁处理并发,解决超卖问题 (2)https://www.cnblogs.com/VitoYi/p/8726070.h ...

  3. 07: redis分布式锁解决超卖问题

    07: redis分布式锁解决超卖问题 参考文章: (1)07: redis分布式锁解决超卖问题 (2)https://www.cnblogs.com/xiaonq/p/12328934.html 备 ...

  4. mysql 超卖_mysql 解决超卖问题的锁分析

    解决超卖问题,常见的方式,利用redis 的原子性去递减:利用队列,队列入队计数.或者直接打到mysql 层.由mysql 保证不超卖,有几个玩法.利用属性不一样,挺有意思,记录下. 首先,mysql ...

  5. 秒杀系统优化以及解决超卖问题

    问题描述 在众多抢购活动中,在有限的商品数量的限制下如何保证抢购到商品的用户数不能大于商品数量,也就是不能出现超卖的问题:还有就是抢购时会出现大量用户的访问,如何提高用户体验效果也是一个问题,也就是要 ...

  6. 秒杀系统并发情况下解决超卖问题

    非分布式秒杀系统 并发情况下解决超卖问题 乐观锁防止超卖 / 令牌桶限流/ redis缓存 /接口限流/接口加盐/单用户限制访问频率/消息队列异步处理订单 #数据库表drop table if exi ...

  7. 秒杀如何解决超卖和重复购买问题

    举一个简单的例子,一个商品限购10人 使用jmeter测试 发现是乱的....当然了 我们可以通过 synchronized 来解决 的确是可以的,但是这样真的太慢了.不建议这么去弄. ======= ...

  8. 淘宝如何解决超卖问题

    这篇文章是我从某文库爬下来的,放在这里供大家学习. 淘宝超卖现象的产生及解决方案 一.什么是超卖现象?  超卖即"超卖缺货",当宝贝库存接近0时,如果多个买家同时付款购买此宝贝,将 ...

  9. 基于秒杀系统解决超卖、限流、Redis限时抢购等问题

    完整项目请见:https://gitee.com/JiaBin1 一.什么是秒杀 秒杀最直观的定义:在高并发场景下而下单某一个商品,这个过程就叫秒杀 [秒杀场景] 火车票抢票 双十一限购商品 热度高的 ...

最新文章

  1. android 组件 线程,Android UI线程和非UI线程
  2. 回溯法——打印子集树
  3. [html] a标签可以再嵌套a标签吗?为什么?如果不行,那又想要嵌套效果怎么解决呢?
  4. 机器学习基础(十八) —— decision stump
  5. HTML仿网易云音乐首页静态,用 Vue.js 模仿一个简单的网易云音乐
  6. 日骗上百的淘宝网赚项目骗局
  7. MMDetection——GPU训练
  8. 数据可视化-柱状图-dict结构MACARONS主题
  9. jquery ajax content type,JQuery ajax的contentType
  10. ImageMagick -- 图片处理
  11. ZOJ2477 拼魔方
  12. 光环国际20周年庆六城联动峰会「北京场」圆满结束!
  13. OS/处理器状态+中断+进程
  14. Flink CDC MongoDB Connector 的实现原理和使用实践
  15. 看这里!java架构师教学视频全百度云
  16. python爬淘宝店铺_【Python爬虫案例学习】Python爬取淘宝店铺和评论
  17. 动态规划(分梨、最长公共子序列)
  18. 用Xaml搭建一个登陆页面
  19. 儿童零食:小人物里面的大市场
  20. vue + xlsx 动态生成Excel,合并单元格

热门文章

  1. python第9周小测验答案_智慧树_Python程序设计基础_章节测验答案
  2. 华为27asph是什么型号_上半年苹果全球销量第一,红米次之,华为表现不佳
  3. cocos cteator中tiled模式 用图集容易出线
  4. zabbix安装步骤
  5. poj 2371 Questions and answers
  6. XML在线转化为JSON
  7. 图像的色彩类别,灰度化,二值化
  8. 客户端与服务端的TCP通信实现(Qt)
  9. MFC中关于虚函数的一些问题
  10. python对象三个特性_百度资讯搜索_python对象三个特性