使用redis 解决美多商城超卖的问题

import redis

r = redis.Redis(host='localhost', port=6379)

#定义过载

def limit_handler():

"""

return True: 允许; False: 拒绝

"""

amount_limit = 3  # 限制数量

keyname = 'limit123'  # redis key name

incr_amount = 1  # 每次增加数量

# 判断key是否存在

if not r.exists(keyname):

# 为了方便测试,这里设置默认初始值为95

# setnx可以防止并发时多次设置key

r.setnx(keyname, 0)

# 数据插入后再判断是否大于限制数

if r.incrby(keyname, incr_amount) <= amount_limit:

return True

return False

#定义秒杀接口

def miaosha(request):

res_one = News.objects.get(pk=1)

if limit_handler():

#if res_one.pd > 0:

time.sleep(5)

# res_one.pd = res_one.pd - 1

# res_one.save()

with connection.cursor() as c:

c.execute(' update news set pd = pd - 1 where id = 1 ')

return HttpResponse('ok')

else:

return HttpResponse('没有了')

解决高并发的问题python_python ---解决高并发超卖问题相关推荐

  1. php电商交押金的逻辑,PHP高并发下抢购、秒杀功能的超卖问题

    ​抢购.秒杀是电商系统比较常见的功能,高并发下一般需要解决两个问题: 高并发下数据库的压力 高并发竞争下出现超卖问题 对于第一个问题,一般可以通过缓存.分库分表.主从等可以解决,这儿主要说说超卖问题. ...

  2. 面试官让我设计一个基于分布式锁的库存超卖方案,并发量很高的那种

    今天给大家聊一个有意思的话题:每秒上千订单场景下,如何对分布式锁的并发能力进行优化? 背景引入 首先,我们一起来看看这个问题的背景? 前段时间有个朋友在外面面试,然后有一天找我聊说:有一个国内不错的电 ...

  3. 用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景?

    用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景? 转载 codeing_doc 最后发布于2018-11-23 09:44:41 阅读数 1073 ...

  4. 如何解决商品秒杀超卖问题

    一.什么是超卖现象 超卖即"超卖缺货",当宝贝库存接近0时,如果多个买家同时付款购买此宝贝,将会出现"超卖缺货"现象.产生超卖缺货这种情况是商家无法控制的,并且 ...

  5. php并发访问排队_php解决高并发问题

    我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键.举个例子,我们假设处理一个业务请求平均响应时间为10 ...

  6. activeMQ高并发发送消息异常解决方法

    高并发发送消息异常解决方法: 现象:使用10个线程每100ms发送一条消息,大约3000多条后,出现异常,所有线程停 止: javax.jms.JMSException:Could not conne ...

  7. 高并发解决方案——提升高并发量服务器性能解决思路

    一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单.随着互联网业务的不断丰富,网站相关的技术经过 ...

  8. 阿里面试官:高并发大流量秒杀系统如何正确的解决库存超卖问题?(建议收藏)

    大家好,我是冰河~~ 在[精通高并发系列]的<实践出真知:全网最强秒杀系统架构解密!!>一文中,冰河详细的阐述了高并发秒杀系统的架构设计,也简单提到了如何扣减商品的库存. 也许不少小伙伴会 ...

  9. 搞懂分布式技术30:高并发解决方案——提升高并发量服务器性能解决思路

    高并发解决方案--提升高并发量服务器性能解决思路 一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很 ...

最新文章

  1. 利用Unity自带的合图切割功能将合图切割成子图
  2. POPUP_TO_DECIDE
  3. Oracle 原理: PL/SQL基础
  4. 【Linux】cp命令
  5. 文件上传简介1---上传到指定的目录
  6. 第 2 章 Readme
  7. Windows C++ 获取当前文件夹下有几个文件
  8. 如何批量修改公式的字体
  9. pythonpath怎么设置_Python编程该怎么入门 模块引用的方法有哪些
  10. Python第十课(函数3)
  11. 大数据分析的技巧有哪些
  12. 熊猫猪新系统測试之二:Mac OS X 10.10 优胜美地
  13. Java、素数的个数
  14. 【Android 教程系列第 10 篇】史上最全的 Android 应用包名汇总,含主流应用商店包名,持续更新...
  15. 老杜java_老杜最新Java零基础视频教程(适合Java 0基础,Java初学入门)
  16. 监控手机屏幕、监控电脑屏幕方案
  17. psv无线怎么连接电脑连接服务器,如何使用PSV远程操作电脑 PSVITA REMOTE DESKTOP详细教程...
  18. 技嘉主板前置面板没有声音的解决
  19. 【Java进阶营】阿里架构师加持,十分钟入门RocketMQ,就是这么简单
  20. 微信小程序web-view显示html页面

热门文章

  1. 内容创业时代,粉丝已死
  2. 内存映射文件进行写文件和读文件有啥不同_Linux中的mmap映射 [二]
  3. js rsa验签_js rsa sign使用笔记(加密,解密,签名,验签)
  4. oracle 密码文件作用,测试 oracle 密码文件在何时起作用
  5. Python 循环中的陷阱
  6. 12道Python基础字符编码数据类型练习题
  7. Python 错误和异常
  8. python 关于异常处理 try...except... 的两个案例
  9. python挖坑法实现快排
  10. python celery多worker、多队列、定时任务