优化 - 后端篇 - Go语言中文社区

优化 - 后端篇



 




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

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

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

 

二、优化之缓存

  1. Redis
  2. 待更新...

 

三、优化之存储过程

存储过程:

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

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

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

4.QPS:一个秒杀6000/qps

 

四、优化之其他

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

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Dream_Weave/article/details/85060813
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 00:03:02
  • 阅读 ( 764 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢