缓存与异步消息传递技术解析
1. 缓存技术概述
缓存的存储资源有限,因此必须定期从内存中清除项目以腾出空间。为了影响缓存清除,服务可以指定缓存中的资源应保持有效或新鲜的时长。当请求新鲜资源时,缓存会直接提供本地存储的结果,而无需联系源服务器。一旦缓存资源的指定保留期到期,它就会变得陈旧,成为清除的候选对象。
1.1 新鲜度计算
新鲜度是通过组合头部值来计算的,具体规则如下:
- Cache - Control: max - age=N 头部 :这是主要指令,该值以秒为单位指定新鲜期。
- Expires 头部 :如果未指定 max - age,则检查该头部。若存在,用于计算新鲜期,它指定了资源应被视为陈旧的明确日期和时间。例如: Expires: Wed, 26 Oct 2022 09:39:00 GMT
- Last - Modified 头部 :作为最后手段,可用于计算资源保留期。源服务器设置该头部以指定资源的最后更新时间,使用与 Expires 头部相同的格式。缓存服务器可以根据其支持的启发式计算,使用该头部结合 Date 头部(指定响应消息从源服务器发送的时间)来确定资源的新鲜生命周期。资源保留期等于 Date 头部的值减去 Last - Modified 头部的值再除以 10。
1.2 Etag 机制
HTTP 提供了另一个可用于控制缓存项新鲜度的指令,即 Etag。Etag 是一个不透明的值,Web 缓存可以使用它来检查缓存的资源是否仍然有效。 </
缓存与异步消息传递技术解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



