自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吉他手的私房菜

开始solo吧!

  • 博客(4)
  • 收藏
  • 关注

原创 电商高并发库存(高频写)系统设计注意事项

查询商品库存设计:类似于商品查询系统,详细见前文。本文主要为避免库存超买超卖需要注意的事项1.启用缓存,查询库存(读缓存),缓存查不到再查数据库,判断可以扣减库存,更新数据库并更新缓存2.防止超买超卖,sql中where语句加上前值(不能预防aba问题),添加库存版本字段(性能有影响)3.上述防止超买超卖利用了数据库乐观锁的概念,性能并不好,且不友好,高并发场景下大量库存扣减失败并击穿到数据库,使用分布式锁提高性能4.加分布式写锁后进行库存扣减4.突发性热点商品下单(秒杀),高并发下单场

2022-02-20 00:49:48 351

原创 电商高并发商品库存(高频读)查询系统设计注意事项

商品流程:查询商品(读缓存)缓存查不到查数据库并写缓存1.并发场景下,sql语句where后带上前库存值(不完全保证原子性aba问题),或者启用库存版本号,初步保证库存扣减的原子性2.防止缓存击穿,商品缓存时间加上随机数或者使用读续命机制(异步线程)3.防止缓存穿透,对不存在的key缓存空值(防止ddos攻击或者运营误删除热点商品),跟加一级使用布隆过滤器(推荐谷歌guava)4.突发性热点商品查询(热门主播上架带过),并发同时请求到缓存取不到,击穿到数据库,启用双重检查d.

2022-02-19 23:39:37 727

原创 ORACLE中order by造成分页不正确原因分析

今天在对调用

2014-08-21 10:05:43 5153 4

原创 乐观锁与悲观锁

version乐观锁1 操作员 A 此时将其读出( version=1 ),并从其帐户余额中扣除 $50( $100-$50 )。2 在操作员 A 操作的过程中,操作员B 也读入此用户信息( version=1 ),并从其帐户余额中扣除 $20 ( $100-$20 )。3 操作员 A 完成了修改工作,将数据版本号加一( version=2 ),连同帐户扣除后余额( balan

2014-04-24 13:48:39 385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除