python怎么解决高并发_python高并发怎么解决

5ee6db3f40aa3891.jpg

某个时间段内,数据涌来,这就是并发。如果数据量很大,就是高并发

高并发的解决方法:

1、队列、缓冲区

假设只有一个窗口,陆续涌入食堂的人,排队打菜是比较好的方式

所以,排队(队列)是一种天然解决并发的办法

排队就是把人排成 队列,先进先出,解决了资源使用的问题

排成的队列,其实就是一个缓冲地带,就是 缓冲区

假设女生优先,每次都从这个队伍中优先选出女生出来先打饭,这就是 优先队列

例如queue模块的类Queue、LifoQueue、PriorityQueue(小顶堆实现)

2、争抢

只开一个窗口,有可能没有秩序,也就是谁挤进去就给谁打饭

挤到窗口的人占据窗口,直到打到饭菜离开

其他人继续争抢,会有一个人占据着窗口,可以视为锁定窗口,窗口就不能为其他人提供服务了。

这是一种锁机制

谁抢到资源就上锁,排他性的锁,其他人只能等候

争抢也是一种高并发解决方案,但是,这样可能不好,因为有可能有人很长时间抢不到

3、预处理

如果排长队的原因,是由于每个人打菜等候时间长,因为要吃的菜没有,需要现做,没打着饭不走开,锁定着窗口

食堂可以提前统计大多数人最爱吃的菜品,将最爱吃的80%的热门菜,提前做好,保证供应,20%的冷门菜,现做

这样大多数人,就算锁定窗口,也很快打到饭菜走了,快速释放窗口

一种提前加载用户需要的数据的思路,预处理 思想,缓存常用

更多Python知识,请关注:Python自学网!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值