当前位置:网站首页>列表页优化思路
列表页优化思路
2022-07-31 12:05:00 【猿码YM】
列表页往往是一个网站或者一个重要业务的首页,列表页的展示速度直接决定了用户体验,所以列表的优化具有重要价值。
有一天产品和运营反馈说,列表页打开的速度怎么这么慢呢?
此时你打开浏览器F12看了一眼果然很慢,然后一脸茫然,无法解释。
此时最直接的办法就是去看看代码,打开代码一看,列表页接口需要调各种其他服务的获取信息,然后进行组装,代码封装代码已经上千行了。
到底哪里出了问题,此时依旧一脸茫然。
下面是完整的解决思路:
stopwatch使用
对一千行代码通过stopwatch拦截,输出相应的耗时,最终就可以定位到哪段代码耗时最长。然后阅读此段代码,分析耗时原因。
此时你可能会发现删除一条日志输出的代码,都可以给列表页的相应速度带来一定的提升。
缓存
看看耗时代码,是否可以加缓存,这样就不用访问mysql或者再调其他服务接口。之前有封装过通过注解完成redis缓存接入的代码,可以直接使用。
注解完成redis缓存接入通过注解就可以把一个方法的返回值放入redis缓存,方便好用。
批量接口
列表页在调用其他服务获取信息时,如果每次都是获取一条记录,耗时10ms,列表30条记录,耗时立马就达到了300ms。此时就需要让接口提供方提供批量调用的接口。
以上属于个人经验和总结,难免有考虑不周的地方,欢迎大家在评论区进行补充和分享。
边栏推荐
猜你喜欢

一文带你了解redux的工作流程——actionreducerstore

MySQL百万数据优化总结 一

一文吃透接口调用神器RestTemplate

Docker实践经验:Docker 上部署 mysql8 主从复制

Docker build Mysql master-slave replication

apisix-入门使用篇

R语言做面板panelvar例子
![[Virtualization Ecological Platform] Platform Architecture Diagram & Ideas and Implementation Details](/img/a5/29c59399eea5466277a840922bdcef.png)
[Virtualization Ecological Platform] Platform Architecture Diagram & Ideas and Implementation Details

vb.net 画曲线
![[Virtualization ecological platform] Raspberry Pi installation virtualization platform operation process](/img/23/d4754ec38e50f320fc4ed90a1e5bbc.png)
[Virtualization ecological platform] Raspberry Pi installation virtualization platform operation process
随机推荐
apisix-Getting Started
MySQL limit paging query and performance issues
Redis学习笔记-3.慢查询和其他高级数据结构
这款悄然崛起的国产API接口管理工具,你一定要晓得
Exploring Plain Vision Transformer Backbones for Object Detection 论文阅读笔记
Qt鼠标穿透
A Week of Wonderful Content Sharing (Issue 14)
R 语言data.frame 中的另一行中减去一行
[core]-ARMV7-A、ARMV8-A、ARMV9-A 架构简介「建议收藏」
MySQL index usage and optimization
MySQL模糊查询性能优化
多线程学习笔记-2.final关键字和不变性
给你一个大厂面试的机会,你能面试上吗?进来看看!
线性表的基本概念
R语言做面板panelvar例子
Data Lake (19): SQL API reads Kafka data and writes it to Iceberg table in real time
kubernetes之服务发现
在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据
5 open source Rust web development frameworks, which one do you choose?
Docker practical experience: Deploy mysql8 master-slave replication on Docker