0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文知道Nginx服务器的缓存原理和机制

马哥Linux运维 来源:网络整理 作者:工程师陈翠 2018-10-05 09:01 次阅读

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值来确定键/值对在服务端所处的位置。当位置确定后,客户端就会向对应的服务端发送一个查询请求,让服务端查找并返回所需数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9342

    浏览量

    86208
  • nginx
    +关注

    关注

    0

    文章

    156

    浏览量

    12254

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

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux开发_CentOS7.4服务器搭建NFS、NGINX服务器,安装ffmpeg、Qt环境

    在CentOS7.4服务器版本的环境下搭建NFS服务器、安装ffmpeg、安装nginx服务器、部署Qt编译环境。
    的头像 发表于 07-14 13:45 1738次阅读
    Linux开发_CentOS7.4<b class='flag-5'>服务器</b>搭建NFS、<b class='flag-5'>NGINX</b><b class='flag-5'>服务器</b>,安装ffmpeg、Qt环境

    #硬声创作季 #云计算 云计算-506.06 服务器运维-Nginx缓存优化-1

    服务器缓存
    水管工
    发布于 :2022年10月11日 01:41:19

    【NanoPi2试用体验】高级():基于nginx的web服务器

    /nginx reload在浏览中打开地址192.168.1.222:8080服务器正常!征文活动,多多捧场:https://bbs.elecfans.com/jishu_531047_1_1.html
    发表于 01-03 11:00

    NanoPi NEO - 可靠的Nginx 网络服务器

    服务器部署,并删除匿名用户和测试数据库。#mysql_secure_installation根据提示进行选择:3. 安装nginx如果你之前已经安装了Apache2,则需要先移除apache2
    发表于 06-20 15:43

    Nginx的安装和启动服务

    Mac上搭建直播服务器 Nginx+rtmp
    发表于 08-05 14:54

    Nginx服务器的搭建步骤

    ①搭建Nginx服务器②SSL加密网站③基于域名虚拟主机
    发表于 04-07 16:20

    关于UDP服务器机制的问题怎么解决

    嗨,我需要了解更多关于UDP服务器机制。以下是我的问题:1。我可以说UDP服务器每次只能服务个连接吗?之所以这样说是因为当我使用TCPIP
    发表于 05-05 10:38

    读懂Nginx、Apache工作原理

    在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx
    发表于 04-26 11:33 2522次阅读

    缓存服务器运作的原理解析

    将HTML缓存存储在台独立的缓存服务器中,利用memcached,我们可以很容易地通过TCP将缓存存储在其他
    发表于 04-28 12:43 1202次阅读

    Nginx架构介绍 Nginx服务器模型分析

    Nginx款免费的、开源的、高性能、模块化、轻量级的HTTP服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器
    的头像 发表于 01-10 16:32 9289次阅读
    <b class='flag-5'>Nginx</b>架构介绍 <b class='flag-5'>Nginx</b><b class='flag-5'>服务器</b>模型分析

    怎么样才能使用Nginx服务器配置自己的网站

    Nginx款轻量级、高性能的反向代理Web服务器,有着占有内存小、并发能力强的特点,在网页ai服务器中表现较好,也是很受很多网站的选择使用,包括百度、腾讯、新浪、淘宝等。
    发表于 03-27 08:00 0次下载
    怎么样才能使用<b class='flag-5'>Nginx</b><b class='flag-5'>服务器</b>配置自己的网站

    详解Nginx高性能的HTTP和反向代理服务器

    Nginx个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器
    的头像 发表于 03-16 11:23 2533次阅读

    【技术分享】如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器

    RTMP作为目前主流的流媒体传输协议,广泛应用于音视频领域。那么我们如何快速在嵌入式板子上搭建起自己的rtmp流媒体服务器?本篇文章将带大家实践下。    概述 Nginx个以高
    的头像 发表于 01-05 15:15 712次阅读

    【技术分享】如何在嵌入式Linux平台上使用Nginx搭建RTMP流媒体服务器

    RTMP作为目前主流的流媒体传输协议,广泛应用于音视频领域。那么我们如何快速在嵌入式板子上搭建起自己的rtmp流媒体服务器?本篇文章将带大家实践下。概述Nginx个以高效稳定著称
    的头像 发表于 01-13 09:27 1389次阅读
    【技术分享】如何在嵌入式Linux平台上使用<b class='flag-5'>Nginx</b>搭建RTMP流媒体<b class='flag-5'>服务器</b>?

    Apache服务器Nginx服务器

    Apache和Nginx都是常见的开源Web服务器软件,它们用于处理HTTP请求并提供网站和应用程序的服务。下面是对Apache和Nginx
    的头像 发表于 01-22 16:48 619次阅读