# 代码篇:接口性能优化的 15 个技巧
作者:Tom哥
公众号:微观技术
博客:https://offercome.cn (opens new window)
人生理念:知道的越多,不知道的越多,努力去学
作为后端研发同学为了几两碎银,没日没夜周旋于各种人、各种事上。
如果你要想成长的更快,就要学会归纳总结,找到规律,并且善用这些规律。
就比如工作,虽然事情很多、也很繁琐,但如果按照性质归下类,我觉得可以分为两大类:
1、业务类,如:产品要做一个红包活动,下周一就要上线,于是研发同学就吭哧吭哧,周末加班不睡觉也要赶出来 2、技术类,如:架构升级、系统优化等,这类事情对技术能力有一定要求,通常要求有一定的项目经验的同学来 owner
关于业务类的内容很大程度依赖于产品同学的节奏,研发更多是被动角色,我们能做的是就是多跟产品聊天,「实时」了解产品的最新动向,培养自己的业务 sense,给自己多预留一定的buffer时间可以去做技术调研、技术储备。
工作一段时间同学一般都经历过,产品的变化节奏是很多,经常都是倒排时间计划,让研发苦不堪言。
至于技术类,相对就比较温和的多了,不过也非常考验研发的技术实力。
今天,我们就来聊下关于接口性能优化有哪些技巧?
- 1、本地缓存
- 2、分布式缓存
- 3、并行化
- 4、异步化
- 5、池化技术
- 6、分库分表
- 7、SQL 优化
- 8、预先计算
- 9、事务相关
- 10、海量数据处理
- 11、批量读写
- 12、锁的粒度
- 13、上下文传递
- 14、空间大小
- 15、查询优化
# 1、本地缓存
本地缓存,最大的优点是应用和cache是在同一个进程内部,请求缓存非常快速,没有过多的网络开销等,在单应用不需要集群支持或者集群情况下各节点无需互相通知的场景下使用本地缓存较合适。缺点也是因为缓存跟应用程序耦合,多个应用程序无法直接的共享缓存,各应用或集群的各节点都需要维护自己的单独缓存,对内存是一种浪费。
常用的本地缓存框架有 Guava、Caffeine 等,都是些单独的** jar包** ,直接导入到工程里即可使用。 我们可以根据自己的需要灵活选择想要哪个框架