接口优化方案总结
2025-01-12 15:07:45 0 举报
AI智能生成
接口优化方案总结
作者其他创作
大纲/内容
1.批处理
批量思想:批量操作数据库,这个很好理解,我们在循环插入场景的接口中,可以在批处理执行完成后一次性插入或更新数据库,避免多次 IO。
例子
redis使用批量方法获取内容,避免单个重复获取
2.异步处理
3.空间换时间
静态数据尽量使用redis或者本地缓存提前缓存
4.预处理
对每天将要处理的数据提前处理
5.池化思想
使用连接池
线程池
6.串行改并行
并发处理
7.索引优化
索引不生效典型场景
隐式类型转换
select *
对索引进行列运算:+、-、*、 /
不满足最左匹配原则
使用or 关键字
not in 和 not exists
order by 和搜索列不匹配
使用 >、<、!=
like 以通配符开头:like '%abc'
8.避免大事务
规避方案
1.http和RPC调用不放到事务里
2.查询操作尽量放到事务外面
3.事务中避免处理太多数据
9.优化程序结构
程序结构问题一般出现在多次需求迭代后,代码叠加形成。会造成一些重复查询、多次创建对象等耗时问题。在多人维护一个项目时比较多见。解决起来也比较简单,我们需要针对接口整体做重构,评估每个代码块的作用和用途,调整执行顺序。
10.深分页问题
11.sql优化
12.锁粒度避免过粗
锁粒度:就是你要锁的范围有多大,不管是 synchronized 还是 redis 分布式锁,只需要在临界资源处加锁即可,不涉及共享资源的,不必要加锁
0 条评论
下一页