当前位置: 首页 > wzjs >正文

做矢量图的网站wordpress底部代码

做矢量图的网站,wordpress底部代码,邓州网站建设,六安人事考试网文章目录 什么是超卖问题?推荐策略:Redis原子操作(Redis incr)乐观锁lua脚本利用Redis increment 的原子操作,保证库存数安全update使用乐观锁LUA脚本保持库存原子性 什么是超卖问题? 在并发的场景下,比如商城售卖商品…

文章目录

  • 什么是超卖问题?
  • 推荐策略:Redis原子操作(Redis incr)+乐观锁+lua脚本
    • 利用Redis increment 的原子操作,保证库存数安全
    • update使用乐观锁
    • LUA脚本保持库存原子性

什么是超卖问题?

在并发的场景下,比如商城售卖商品中,一件商品的销售数量>库存数量的问题,称为超卖问题。主要原因是在并发场景下,请求几乎同时到达,对库存资源进行竞争,由于没有适当的并发控制策略导致的错误。

推荐策略:Redis原子操作(Redis incr)+乐观锁+lua脚本

利用Redis increment 的原子操作,保证库存数安全

  1. 先查询redis缓存中是否有库存信息,如果没有就去数据库查,这样就可以减少访问数据库的次数。获取到后把数值填入redis,以商品id为key,数量为value。 还需要设置redis对应这个key的超时时间,以防所有商品库存数据都在redis中。
  2. 比较下单数量的大小,如果够就做后续逻辑。
  3. 执行redis客户端的increment,参数为负数,则做减法。因为redis是单线程处理,并且因为increment让key对应的value减少后返回的是修改后的值。有的人会不做第一步查询直接减,其实这样不太好,因为当库存为1时,很多做减3,或者减30情况,其实都是不够,这样就白减。
  4. 扣减数据库的库存,这个时候就不需要再select查询,直接乐观锁update,把库存字段值减1 。
  5. 做完扣库存就在订单系统做下单。

update使用乐观锁

updateProduct方法中执行的sql如下:

update Product set count = count - 购买数量 where id = 商品id and count - 购买数量 >= 0 and version = 查到的version;

虽然redis已经防止了超卖,但是数据库层面,为了也要防止超卖,以防redis崩溃时无法使用或者不需要redis处理时,则用乐观锁,因为不一定全部商品都用redis。

利用sql每条单条语句都是有事务的,所以两条sql同时执行,也就只会有其中一条sql先执行成功,另外一条后执行。

LUA脚本保持库存原子性

扣减redis的库存时,最好用lua脚本处理,因为如果剩余1个时,用户买100个,这个时候其实会先把key increase -100就会变负99。
所以用lua脚本先查询数量剩余多少,是否够减100后,再去减100。

本人水平有限,有错的地方还请批评指正。

什么是精神内耗?
简单地说,就是心理戏太多,自己消耗自己。
所谓:
言未出,结局已演千百遍;
身未动,心中已过万重山;
行未果,假想灾难愁不展;
事已闭,过往仍在脑中演。


文章转载自:

http://0kd6rFXA.cjrmf.cn
http://iJ0eztQ6.cjrmf.cn
http://H8d6IbdL.cjrmf.cn
http://4fsDhmmH.cjrmf.cn
http://uw0JCU0H.cjrmf.cn
http://i1DxQqxf.cjrmf.cn
http://kcLkyQOj.cjrmf.cn
http://8PKGW4ZD.cjrmf.cn
http://aq7JK7rR.cjrmf.cn
http://0nmakHzq.cjrmf.cn
http://JacDHWyA.cjrmf.cn
http://kh0EmAVT.cjrmf.cn
http://mrg2bsJd.cjrmf.cn
http://Xh24qwxJ.cjrmf.cn
http://DYQFM1m1.cjrmf.cn
http://XxpxV5Yz.cjrmf.cn
http://7joPqxGg.cjrmf.cn
http://cUccF17I.cjrmf.cn
http://KKDhAbMk.cjrmf.cn
http://VX0K0u9G.cjrmf.cn
http://nbIXueZB.cjrmf.cn
http://IHdpdMOa.cjrmf.cn
http://qRq774U0.cjrmf.cn
http://wVIdxwHb.cjrmf.cn
http://1VPq6w6O.cjrmf.cn
http://z6rzwgl3.cjrmf.cn
http://90GnxbBA.cjrmf.cn
http://QF8mNAZU.cjrmf.cn
http://VppTJyTX.cjrmf.cn
http://6x9mioy9.cjrmf.cn
http://www.dtcms.com/wzjs/640990.html

相关文章:

  • 素马网站设计公司贵州城乡建设厅官网
  • wordpress无法访问站点wordpress云建站教程
  • 网站后台域名解析怎么做浦东做营销网站
  • 免费微信建站有哪些网站济南建立网站
  • 网站开发在线打开word百度上怎么打广告宣传
  • 赣州网站建设精英网站建设推广什么意思
  • 西平县建设局网站近两年成功的网络营销案例
  • 一流的营销型网站建设福州网站建设多少钱
  • 苏州园区网站制作公司外贸企业网站推广方案
  • 网站开发完成如何上线可以做秋招笔试题的网站
  • 望京网站建设织梦做中英文网站详细步骤
  • 网页特效 网页素材的网站wordpress购物模板
  • 高密市建设局网站有没有什么专门做兼职的网站
  • 品牌宣传型网站构成互联网保险模式
  • 做外贸是不是必须有网站大连做网站企业
  • 优质手机网站建设哪家好最新新闻有哪些
  • 竞猜网站模板CMCAP官方网站
  • 网站备案查询 站长做网站用cms好吗
  • 商务网站建设论文答辩ppt自适应网页和响应式网页区别
  • 人流什么时间做 新闻源网站合肥本地网站
  • 建设一个网站首先需要什么条件温州网站收录
  • 沈阳城乡建设官方网站软件工程课程设计题目
  • 跨境电商网站设计企业形象设计课程
  • 商务网站建设与维护课程广州交易网站建设
  • 做外贸网站多少钱推广平台免费
  • 网站域名解析ip查询多少钱算网站
  • 网站开发学校设计说明万能模板300字
  • 长沙电商网站建设哈巴狗模式网站开发
  • wordpress 站内信 群发wordpress nodejs
  • wordpress小插件下载地址镇江seo公司