[开发日常] 优化访问速度

背景

查找一个结果需要从多张表,多个数据库中查找,再组装之后返回前端。

后端来操作:

增加缓存

  1. 数据库增加索引
  2. 将数据库中经常要查,而且不常变的东西存入本地变量
  3. 或者引入redis,存进redis
  4. 如果数据不是经常变动的内容,只是存在各个不同的库。可以把查询后组装好的结果存入数据库(创建缓存)。每次查询先访问该数据库,如果有结果则返回,没有结果则按原有逻辑进行,将结果存入该库。

引入的新问题:脏数据

  1. 如果这些数据更改了,如果这些更改也是你可以控制的,在更改后增量更新该数据库。
  2. 如果这些更改你不能感知或者控制。可以
    1. 定时任务(比如一小时全量刷新一次,一天全量刷新一次)
    2. 前端留给用户一个按钮,如果用户感觉数据有问题,可以强制刷新

前后端共同操作:

更改查询逻辑,将一个查询接口分成多个接口。类似分页的逻辑。总时间不变,甚至稍微边长。但是每个接口响应速度快,可以懒加载,或者用户点击再加载。

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