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

    文章

    8114

    浏览量

    82499
  • nginx
    +关注

    关注

    0

    文章

    135

    浏览量

    11985

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

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

收藏 人收藏

    评论

    相关推荐

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

    在CentOS7.4服务器版本的环境下搭建NFS服务器、安装ffmpeg、安装nginx服务器、部署Qt编译环境。
    的头像 发表于 07-14 13:45 929次阅读
    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

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

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

    【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

    播出服务器磁盘I/O与缓存性能分析

    播出服务器磁盘I/O与缓存性能分析:针对电视台专业播出服务器在播出质量和播出性能上的高要求,提出了(s,S)策略下读数据缓存和复用缓存与节目
    发表于 01-16 15:09 22次下载

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

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

    简述服务器交换机缓存模式的工作原理

    大家在服务器租用的时候,都知道数据缓存能带来高速访问的效果,降低数据请求的时间。
    的头像 发表于 03-13 16:32 4991次阅读

    基于多级队列的云服务并发量分级缓存机制

    基于多级队列的云服务并发量分级缓存机制
    发表于 06-24 11:35 15次下载

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

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

    恒讯科技介绍:缓存服务器是什么?有哪些不同类型的算法?

    缓存服务器是什么?缓存服务器是专用网络服务器或充当在本地保存网页或其他互联网内容的服务器
    的头像 发表于 07-07 17:48 388次阅读

    Apache服务器Nginx服务器

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