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

背景

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

后端来操作:

增加缓存
  1. 数据库增加索引
  2. 将数据库中经常要查,而且不常变的东西存入本地变量
  3. 或者引入redis,存进redis
  4. 如果数据不是经常变动的内容,只是存在各个不同的库。可以把查询后组装好的结果存入数据库(创建缓存)。每次查询先访问该数据库,如果有结果则返回,没有结果则按原有逻辑进行,将结果存入该库。
引入的新问题:脏数据
  1. 如果这些数据更改了,如果这些更改也是你可以控制的,在更改后增量更新该数据库。
  2. 如果这些更改你不能感知或者控制。可以
    1. 定时任务(比如一小时全量刷新一次,一天全量刷新一次)
    2. 前端留给用户一个按钮,如果用户感觉数据有问题,可以强制刷新

前后端共同操作:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值