当前位置:网站首页>列表页优化思路
列表页优化思路
2022-07-31 12:05:00 【猿码YM】
列表页往往是一个网站或者一个重要业务的首页,列表页的展示速度直接决定了用户体验,所以列表的优化具有重要价值。
有一天产品和运营反馈说,列表页打开的速度怎么这么慢呢?
此时你打开浏览器F12看了一眼果然很慢,然后一脸茫然,无法解释。
此时最直接的办法就是去看看代码,打开代码一看,列表页接口需要调各种其他服务的获取信息,然后进行组装,代码封装代码已经上千行了。
到底哪里出了问题,此时依旧一脸茫然。
下面是完整的解决思路:
stopwatch使用
对一千行代码通过stopwatch拦截,输出相应的耗时,最终就可以定位到哪段代码耗时最长。然后阅读此段代码,分析耗时原因。
此时你可能会发现删除一条日志输出的代码,都可以给列表页的相应速度带来一定的提升。
缓存
看看耗时代码,是否可以加缓存,这样就不用访问mysql或者再调其他服务接口。之前有封装过通过注解完成redis缓存接入的代码,可以直接使用。
注解完成redis缓存接入通过注解就可以把一个方法的返回值放入redis缓存,方便好用。
批量接口
列表页在调用其他服务获取信息时,如果每次都是获取一条记录,耗时10ms,列表30条记录,耗时立马就达到了300ms。此时就需要让接口提供方提供批量调用的接口。
以上属于个人经验和总结,难免有考虑不周的地方,欢迎大家在评论区进行补充和分享。
边栏推荐
- Docker installs canal and mysql for simple testing and achieves cache consistency between redis and mysql
- 安装MYSQL遇到问题:write configuration file卡主
- Wearing detection and action recognition of protective gear based on pose estimation
- DCM 中间件家族迎来新成员
- 基于C51实现按键控制
- ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
- JVS开发套件产品定位
- VBA实现双击单元格自动输出对号再次双击取消对号
- busybox之reboot命令流程分析
- 5 open source Rust web development frameworks, which one do you choose?
猜你喜欢
安装MYSQL遇到问题:write configuration file卡主
给你一个大厂面试的机会,你能面试上吗?进来看看!
JVS低代码能力简介及功能清单
AWS Amazon cloud account registration, free application for 12 months Amazon cloud server detailed tutorial
Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性
kernel syscore
想吃菌子,当然是自己上山找了
MySQL百万数据优化总结 一
基于C51实现按键控制
Android studio连接MySQL并完成简单的登录注册功能
随机推荐
带有对称约束切换线性系统的结构可控性
jmeter性能测试步骤入门(性能测试工具jmeter)
mysql automatically adds creation time and update time
Docker build Mysql master-slave replication
科学论文和学术论文写作
The most complete phpmyadmin vulnerability summary
chroot命令
Addition logic for SAP Commerce Cloud Product Review
Full GC (Ergonomics)排查分析
建情人节表白网站(超详细过程,包教包会)
Docker practical experience: Deploy mysql8 master-slave replication on Docker
Summary of several defragmentation schemes for MySQL (to solve the problem of not releasing space after deleting a large amount of data)
AWS Amazon cloud account registration, free application for 12 months Amazon cloud server detailed tutorial
How MySQL's allowMultiQueries flag relates to JDBC and jOOQ
最新MySql安装教学,非常详细
MySQL百万数据优化总结 一
imx6ull看门狗使用
Docker实践经验:Docker 上部署 mysql8 主从复制
连续变量离散化教程
R语言做面板panelvar例子