【Django】性能优化-普通版

性能优化:

思路

通常无论是什么编程语言或者是什么框架,瓶颈通常都是数据库相关的操作;

大部分的查询慢的问题接口都是频繁查库、全盘扫描、多层for循环嵌套、高频查redis、序列化时多级外键;

多用O(1)查找复杂度的数据

合理使用dict、set等查询复杂度是O1的数据类型初始化数据,避免使用for循环套for循环查找数据效率低下的情况,使用 x in [1,2,3...]效率低,改成set

数据库避免使用查询效率低的字段

数据库使用JSON、二进制文件会导致查询效率变低

主键使用MD5

这个会慢,因为自增主键是使用二分法查找的,而md5就会全盘扫描

Redis

尽量一次请求只查1次redis,Redis查询太快会缓存击穿;

定位性能低下的代码

具体定位:使用如下代码,每个可疑方法上都有编号,找到后再将编号加.多一位

python 复制代码
time_start=datetime.now()
print(f"性能优化 编号1.2.3", datetime.now()-time_start)
相关推荐
tkevinjd2 小时前
MiniCode 项目详解6:原项目控制系统的10个缺陷(已修复)
python·llm·agent
dNGUZ7UGj3 小时前
10分钟完成第一个Python小游戏
python·django
没有梦想的咸鱼185-1037-16634 小时前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer
霸道流氓气质4 小时前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
kirs_ur5 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化
Draina6 小时前
CBC填充预言攻击-CBC Padding Oracle Crypto Attack
python·安全·web安全·网络安全·密码学·安全性测试
Angel Q.6 小时前
特征提取 | DINO 到 DINOv3
图像处理·python
Ashley的成长之路7 小时前
前端性能优化实战手册·第2篇:资源加载策略全解
前端·性能优化·资源加载·http/3·性能优化实战·资源加载优化
不如语冰7 小时前
AI大模型入门-pytorch-张量2 tensor创建
python
NPE~7 小时前
[AI]Agent开发——ADK框架使用
人工智能·python·ai·教程·adk·agent开发