性能優化:
思路
通常無論是什么編程語言或者是什么框架,瓶頸通常都是數據庫相關的操作;
大部分的查詢慢的問題接口都是頻繁查庫、全盤掃描、多層for循環嵌套、高頻查redis、序列化時多級外鍵;
多用O(1)查找復雜度的數據
合理使用dict、set等查詢復雜度是O1的數據類型初始化數據,避免使用for循環套for循環查找數據效率低下的情況,使用 x in [1,2,3...]
效率低,改成set
數據庫避免使用查詢效率低的字段
數據庫使用JSON、二進制文件會導致查詢效率變低
主鍵使用MD5
這個會慢,因為自增主鍵是使用二分法查找的,而md5就會全盤掃描
Redis
盡量一次請求只查1次redis,Redis查詢太快會緩存擊穿;
定位性能低下的代碼
具體定位:使用如下代碼,每個可疑方法上都有編號,找到后再將編號加.多一位
time_start=datetime.now()
print(f”性能優化 編號1.2.3”, datetime.now()-time_start)