[開發日常] 優化訪問速度

背景

查找一個結果需要從多張表,多個數據庫中查找,再組裝之後返回前端。

後端來操作:

增加緩存

  1. 數據庫增加索引
  2. 將數據庫中經常要查,而且不常變的東西存入本地變量
  3. 或者引入redis,存進redis
  4. 如果數據不是經常變動的內容,只是存在各個不同的庫。可以把查詢後組裝好的結果存入數據庫(創建緩存)。每次查詢先訪問該數據庫,如果有結果則返回,沒有結果則按原有邏輯進行,將結果存入該庫。

引入的新問題:髒數據

  1. 如果這些數據更改了,如果這些更改也是你可以控制的,在更改後增量更新該數據庫。
  2. 如果這些更改你不能感知或者控制。可以
    1. 定時任務(比如一小時全量刷新一次,一天全量刷新一次)
    2. 前端留給用戶一個按鈕,如果用戶感覺數據有問題,可以強制刷新

前後端共同操作:

更改查詢邏輯,將一個查詢接口分成多個接口。類似分頁的邏輯。總時間不變,甚至稍微邊長。但是每個接口響應速度快,可以懶加載,或者用戶點擊再加載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章