开发调试时,如何确定缓存已被清除
在开发阶段,会经常调试,有种情况,当使用 清理缓存接口 把原本被缓存的页面清理掉后,你访问,发现还是之前的页面,感觉还是访问的被缓存的,如何确认是否真的是访问的缓存
第一步,进入TCDN服务器确认
TCDN的缓存文件,也就是缓存的html页面,是存放于 /mnt/tcdn/cache/
这个目录内的,这个目录内的文件夹名字,是以源站域名命名的,比如你的源站是 http://www.zvo.cn ,那么你这个源站的TCDN缓存文件则是 /mnt/tcdn/cache/www.zvo.cn/
在这个目录中。
这个目录中的文件夹是以语言命名的,比如你想查看英语访问的tcdn页面,那么你就进入 english 文件夹,也就是 /mnt/tcdn/cache/www.zvo.cn/english/
这里面的目录结构就完全跟你源站的目录结果一模一样了,你从中找到你访问的网址的对应的目录结构的文件,查看一下其源代码,来确认一下它是你浏览器里看的呢,还是它已经是新的,但是你浏览器还没变过来。
如果是前者,查看这个缓存文件的源代码,就是旧的,那么你再执行上面的清理缓存接口,清理这个缓存,清理后,看看文件是不是消失了? (如果没有消失,看看文件的创建时间是否是最近几秒的,有可能是你刚清理它又立即被别人访问或自动刷新给重新缓存了)
第二步,多种情况排查
情况一: 缓存文件已经是新的,但是你浏览器还没变过来
缓存文件已经是新的,那说明 TCDN及缓存体系是完全无任何异常的,问题不在 TCDN及缓存上,而是外部因素。
如果你配置了CDN,你登录你CDN管理后台,去手动刷新一下缓存。这里应该是你CDN给缓存了,你访问的时候访问到了CDN,CDN给你返回了html内容,压根就没进入到TCDN服务器。
如果没配置CDN,那么可能是你浏览器本身有缓存,这个可能是比较小的, 你可以 Ctrl + F5 强制清除缓存刷新,看看是否已经好了。
情况二: 重新缓存后,缓存文件就是旧的
你可以手动访问一下你本身的源站的这个URL页面,去确认一下你源站的这个URL页面是否返回的就是旧的,是你本地还没更新上。
情况三: 清理缓存接口执行后并没有清理
你执行上面的 清理缓存接口 ,清理这个缓存,清理后,看看文件是不是消失了? (如果没有消失,看看文件的创建时间是否是最近几秒的,有可能是你刚清理它又立即被别人访问或自动刷新给重新缓存了) 如果缓存文件没有消失,并且这个缓存文件的创建时间都没发生变化,那么说明你执行清除缓存接口后并没有成功清除掉缓存文件,
- 你可以详细检查一下你调用清理缓存接口传入的参数是否合格,有填写错误
- 你调用接口后,接口给你的返回值是否是提示失败
- 可以手动查看日志文件
tail -f /mnt/tcdn/logs/tcdn.log
一边查看日志文件,一边清理缓存的几口,看是否有报错误(这个可能性是很小的)
如果以上都不行,那么 联系我们 来说明情况反馈一下,请求支援吧