测试工程师基本素养之缓存篇
Posted 易企秀工程师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试工程师基本素养之缓存篇相关的知识,希望对你有一定的参考价值。
-某贝: 杰根,为啥我在管理后台升级了个会员,刷新页面后还是免费版啊?
-杰根: 有缓存,你等10分钟就好了
……10 minutes later
-某贝上个厕所回来一刷新页面,果然好了,杰根真棒
-某曹: 伟松,我数据库编辑了个场景,为啥这个场景预览还是旧的?
-伟松: 有缓存,你等12小时就好了
……12 hours later
- 某曹加班到10点半一刷新,果然好了,伟松真棒
- 某琴: 杰根,为啥我添加了一个商品,在商城没显示呢?
- 杰根: 有缓存,你等我有空了给你处理下就好了
……1 weeks later
- 某琴一刷新,竟然没好,杰根你给我弄好没啊?我着急用,赶紧的
测试工作中经常会遇到各种各样问题,其中有的是业务疏漏导致的,有的是因为数据未更新导致的。因为缓存引起的误判,已经不胜枚举,那么问题来了:
缓存是什么?
易企秀用了哪些缓存?
这些缓存有什么用?
我该如何处理这些缓存?
◆ ◆ ◆ ◆ ◆
一、缓存是什么?
这里所提到的缓存是广义范围上的缓存,指的是符合下述两点的都算作缓存:
加速访问,较少响应时间,提升用户体验
较少服务端的压力
二、易企秀用了哪些缓存?它们都在哪?
概括的说分为
CDN
前端缓存
nginx缓存
redis
索引
拿一个用户正常操作来说
1. CDN
1.当用户登录后进入首页,加载header及页面内容,此时header部分均是从CDN获取(现在已取消)
七牛的图片资源、音乐文件,均通过CDN获取
2. 前端缓存
编辑器查询单页模板后,缓存至浏览器本地,一个小时内的查询均总本地获取
3. nginx缓存
预览场景的页面内容第一次走server端,之后均从nginx缓存获取,不经过server端
4. redis
使用范围最广的缓存,最常见的就是eqs/login的缓存,数据库更改一项内容后,接口返回内容不会立即生效,而是需要10分钟缓存过期后才会生效
5.索引
商城的搜索引擎,通过使用索引的方式,快速搜索素材
三、工作中如何清理缓存?
1.CDN
通过找运维清理腾讯云的缓存
2. 前端缓存
通过浏览器控制台的Application→Local Storage来做删除操作
3. nginx缓存
暂无简易方法,要么通过预期的业务流程删除,要么通过操作nginx删除
4. redis
通过桌面工具Redis Desktop Manager删除
5. 索引
!!!通过商城管理后台 商城管理 → 商品管理 → 更新索引,来更新索引!!!
!!!仅限测试服,预发布和线上务必不能操作!!!
喜欢记得来一个
以上是关于测试工程师基本素养之缓存篇的主要内容,如果未能解决你的问题,请参考以下文章