Nginx——多级缓存设计方案

摘要

一、静态资源缓存

二、浏览器缓存

2.1 强制缓存

expries

cache control

2.2 etag-modify协商缓存

2.3 浏览器缓存常见配置

  • 多级集群负载时last-modified必须保持一致。
  • 还有一些场景下我们希望禁用浏览器缓存。比如轮训api上报数据数据。
  • 浏览器缓存很难彻底禁用,大家的做法是加版本号,随机数等方法。
  • 只缓存200响应头的数据,像3XX这类跳转的页面不需要缓存。
  • 对于js,css这类可以缓存很久的数据,可以通过加版本号的方式更新内容。
  • 不需要强一致性的数据,可以缓存几秒。
  • 异步加载的接口数据,可以使用ETag来校验。
  • 在服务器添加Server头,有利于排查错误。
  • 分为手机APP和Client以及是否遵循http协议。
  • 在没有联网的状态下可以展示数据。
  • 避免流量消耗过多。
  • 提前下发避免秒杀时同时下发数据造成流量短时间暴增。
  • 兜底数据在服务器崩溃和网络不可用的时候展示。
  • 临时缓存退出即清理。
  • 固定缓存展示框架这种,可能很长时间不会更新,可用随客户端下发。
  • 首页有的时候可以看做是框架应该禁用缓存,以保证加载的资源都是最新的。
  • 父子连接页面跳转时有一部分内容不需要重新加载,可用从父菜单带过来。
  • 预加载某些逻辑可用判定用户接下来的操作,那么可用异步加载那些资源。
  • 漂亮的加载过程异步加载先展示框架,然后异步加载内容,避免主线程阻塞。

三、CDN缓存

四、正向代理缓存

IP黑白名单访问

五、反向代理缓存

proxy_cache

cache_key

六、Nginx内置缓存

Nginx的断点续传Range

七、Nginx外置缓存

7.1 Nginx+memcahe外置内存解决方案

7.2 Nginx+redis2-nginx-module外置内存解决方案

八、upstream应用缓存

博文参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庄小焱

我将坚持分享更多知识

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值