加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_盐城站长网 (https://www.0515zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

聊聊高并发系统之HTTP缓存

发布时间:2021-01-09 07:01:13 所属栏目:站长百科 来源:网络整理
导读:副标题#e# 《聊聊高并发系统之HTTP缓存》要点: 本文介绍了聊聊高并发系统之HTTP缓存,希望对您有用。如果有疑问,可以联系我们。 简介 最近遇到很多人来咨询我关于浏览器缓存的一些问题,而这些问题都是类似的,因此总结本文来解答以后遇到类似问题的朋友.

4、假设商品详情页异步加载的一些数据使用的是Last-Modified进行的过期控制,而服务端做了逻辑修改但内容是没有修改的,即内容的最后修改时间没变,如果想过期这些异步加载的数据,可以考虑在商品详情页添加异步加载数据的版本号,通过添加版本号来加载最新的数据,或者将Last-Modified时间加1来解决;而这种情况比较适合使用ETag;

5、商品详情页异步加载的一些数据,可以考虑更长时间的缓存(比如1个月而不是几分钟),可以通过MQ将修改时间推送商品详情页,从而实现按需过期数据;

6、服务端考虑使用内存缓存(tmpfs)、SSD缓存;考虑服务端负载均衡算法,如一致性哈希提升缓存命中率;

7、缓存KEY要合理设计(比如去掉参数/排序参数保证代理层缓存命中),要有清理缓存的工具,出问题时能快速清理掉问题KEY;

8、AB测试/个性化需求时应禁用掉浏览器缓存,但考虑服务端缓存;

9、为了便于查找问题,一般会在响应头中添加源服务器信息,如访问京东商品详情页会看到ser响应头,此头存储了源服务器IP,以便出现问题时知道哪台服务器有问题.

参考 
https://www.w3.org/Protocols/HTTP/1.0/spec.html
https://www.w3.org/Protocols/rfc2616/rfc2616.html
http://nginx.org/en/docs/http/ngx_http_headers_module.html#expires
http://nginx.org/en/docs/http/ngx_http_core_module.html#if_modified_since
http://nginx.org/en/docs/http/ngx_http_core_module.html#etag
http://nginx.org/en/docs/http/ngx_http_proxy_module.html

文:张开涛
文章出处:开涛的博客(订阅号ID:kaitao-1234567)

(编辑:网站开发网_盐城站长网 )

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!