阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

三分钟看懂Nginx服务器的缓存原理和机制

109次阅读
没有评论

共计 848 个字符,预计需要花费 3 分钟才能阅读完成。

Nginx 服务器的缓存原理,是在学习过程中比较重要的一个知识点,学习通透之后,对于自己的能力会有不小的提升——而且提升不只限于 nginx 一方面,技术理论一通百通,对于理解其他内容也会有很大帮助。

Web 缓存主要思想

Web 缓存技术的基本思想是利用客户访问的时间局部性原理,对客户已经访问过的内容在 Nginx 服务器本地建立副本,这样在一段时间内再次访问该数据,就不需要通过Nginx 服务器再次向后端服务器发出请求,所以能够减少Nginx 服务器与后端服务器之间的网络流量,减轻网络拥塞,同时还能减小数据传输延迟,提高用户访问速度。同时,当后端服务器宕机时,Nginx 服务器上的副本资源还能够回应相关的用户请求,这样能够提高后端服务器的鲁棒性。

Nginx 缓存实现原理

基于 Proxy Store 的缓存机制

01

404 错误驱动

当 Nginx 服务器发现,用户请求数据在服务器本地不存在时,会产生 404 错误,服务器能够捕捉该错误,进一步转向后端服务器请求相关数据,最后将后端请求到的数据传回客户端,并在服务器本地缓存。

三分钟看懂 Nginx 服务器的缓存原理和机制

02

资源不存在驱动

原理上基本等同于 404 错误驱动,不同之处在于该方法是通过 location 块的 location if 条件判断直接驱动 Nginx 服务器和后端服务器的通信和Web 缓存,而不对资源不存在产生 404 错误。

配置文件片段:

三分钟看懂 Nginx 服务器的缓存原理和机制

这两种缓存机制只能缓存 200 状态下的响应数据,同时不支持动态链接请求。比如:getsource?id= 1 和 getsource?id= 2 这两个请求,返回的是相同的资源。所以实际上,一般是采用 Nginx 搭配 Squid 服务器架构实现方案。

基于 memcached 的缓存机制

memcached 在内存中开辟一块空间,然后建立一个Hash 表,将缓存数据通过键 / 值存储在 Hash 表中进行管理。memcached 由服务端和客户端两个核心模块组成,服务端通过计算“键”的 Hash 值来确定键 / 值对在服务端所处的位置。当位置确定后,客户端就会向对应的服务端发送一个查询请求,让服务端查找并返回所需数据。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-12-03发表,共计848字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中