0
点赞
收藏
分享

微信扫一扫

优化 - 后端篇


优化 - 后端篇_优化优化 - 后端篇_优化_02

优化 - 后端篇_动静态数据分离_03优化 - 后端篇_优化_04优化 - 后端篇_序列化_05优化 - 后端篇_动静态数据分离_06优化 - 后端篇_序列化_07


优化 - 后端篇_优化_08优化 - 后端篇_序列化_09优化 - 后端篇_序列化_10优化 - 后端篇_动静态数据分离_11优化 - 后端篇_存储过程_12

优化 - 后端篇_序列化_13

优化 - 后端篇_序列化_14

一、优化之细粒度化事务锁

优化 - 后端篇_优化_15

插入操作放在前面,插入操作就是把秒杀单,用户id,电话组成一个组件,这个组件冲突的概率并不是很高(不会出现一些数据“脏”的情况),因为秒杀单在前头,还有用户的电话,组成一个唯一键,这个时候的网络延迟和GC是可以并行的,这个时候再去拿update减库存的rowLocl行级锁。

秒杀操作的简单优化:更新库存的是热点操作,会出现行级锁,而插入购买记录的行为没有行级锁。可以先插入购买明细,可以避免因重复秒杀带来的不必要的更新库存操作,减少不必要的行级锁的占用。然后再去更新库存。这样,行级锁的占用时间可以节省一半(反正是节省了)。

二、优化之缓存

  1. Redis
  2. 待更新...

三、优化之存储过程

存储过程:

1.存储过程优化:事务行级锁持有的时间

2.不要过度依赖存储过程

3.简单的逻辑依赖存储过程

4.QPS:一个秒杀6000/qps

四、优化之其他

  1. protostuff(序列化框架)
    Ps:protostuff.jar 比 java自带的序列化,无论是空间还是时间都优化很多。
  2. 待更新...


举报

相关推荐

0 条评论