接口性能优化

1.批量操作数据库

2.异步执行,降低接口耗时,可以使用线程池或消息队列。

3.使用缓存,把要查的数据,提前放好到缓存里面,需要时,直接查缓存,而避免去查数据库或者计算的过程。

4.提前初始化到缓存,避免一些复杂的计算的耗时。

5.池化思想,使用线程池,重复利用线程,避免不必要的耗时。

6.拒绝阻塞等待。

7.远程调用由串行改为并行。

8.锁粒度避免过粗,影响接口性能。

9.压缩传输内容。

10.数据太大,先用文件的方式暂存,之后再异步下载文件,慢慢保存到数据库。

11.SQL添加索引

12.SQL优化

  • 12.1 selet具体字段
  • 12.2 多用limit
  • 12.3 用union all替换 union
  • 12.4 优化group by
  • 12.5 优化order by
  • 12.6 小表驱动大表
  • 12.7 字段类型使用合理
  • 12.8 优化linit分页
  • 12.9 exist& in的合理利用
  • 12.10 join关联的表不宜过多
  • 12.11 delete+in自查询不走索引
  • 12.12 in元素不要过多

13.使用@Transactional

14.深分页问题

15.优化程序结构

16.海量数据考虑NoSQl

17.合理的线程池设计

18.机器问题(fullGC,线程打满,太多IO资源没关闭等等)

参考:用了这18种方案,接口性能提高了100倍! - 掘金

相关推荐
ofoxcoding14 小时前
在AI API聚合平台配置DeepSeek V3.2提示词缓存实战:快速接入与成本优化指南
人工智能·spring·缓存·ai
NeilYuen16 小时前
gRPC结合FAISS构建AI助手语义缓存模块(一):设计
人工智能·缓存·faiss
taocarts_bidfans17 小时前
反向海淘跨境缓存架构优化:taocarts Redis分层缓存实战技术
redis·缓存·架构·反向海淘·taocarts
退休倒计时19 小时前
【每日一题】LeetCode 146. LRU 缓存 TypeScript
算法·leetcode·缓存·typescript
炘爚19 小时前
Linux——Redis
数据库·redis·缓存
小挪号底迪滴20 小时前
Redis 和 MySQL 数据不一致怎么办?缓存更新策略实战
redis·mysql·缓存
闪电悠米21 小时前
黑马点评-Redis ZSet-实现关注 Feed 流
服务器·网络·数据库·redis·缓存·junit·lua
Saniffer_SH2 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
AC赳赳老秦2 天前
OpenClaw + 飞书多维表格:自动同步数据、生成统计图表、触发自动化任务
java·大数据·python·缓存·自动化·deepseek·openclaw