问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

nginx 缓存机制

发布网友 发布时间:2022-09-03 06:08

我来回答

1个回答

热心网友 时间:2024-09-29 17:35

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

对于缓存,我们大概会有以下问题:
(1)缓存文件放在哪儿?
(2)缓存的空间大小是否可以限定?
(3)如何指定哪些请求被缓存?
(4)缓存的有效期是多久?
(5)对于某些请求,是否可以不走缓存?

解决这些问题后,nginx的缓存也就基本配置完成了,下面看详细配置过程
开启缓存

要使用缓存,首先要使用 proxy_cache_path 这个指令(必须放在 http 上下文的顶层位置),然后在目标上下文中使用 proxy_cache 指令

配置示例

proxy_cache_path 有两个必填参数,第一个参数为 缓存目录,第二个参数keys_zone指定缓存名称和占用内存空间的大小(注:示例中的10m是对内存中缓存内容元数据信息大小的*,如果想*缓存总量大小,需要用 max_size 参数)

proxy_cache 的参数为之前指定的缓存名称

缓存管理的相关进程
在缓存工作中有两个附加进程:
(1)缓存管理器
定期检查缓存状态,看缓存总量是否超出*,如果超出,就移除其中最少使用的部分
(2)缓存加载器
加载器只在nginx启动后运行一次,把缓存内容的元数据信息加载到内存空间,如果一次性加载全部缓存信息,会大量消耗资源,使nginx在启动后的几分钟里变慢,为避免此问题,有3种加载策略:
loader_threshold – 指定每次加载执行的时间
loader_files – 每次最多加载的数量
loader_sleeps – 每次加载的延时
例如:
proxy_cache_path /data/nginx/cache keys_zone=one:10m loader_threshold=300 loader_files=200;
指定缓存哪些请求
nginx默认会缓存所有 get 和 head 方法的请求结果,缓存的key默认使用请求字符串
(1)自定义key
例如 proxy_cache_key " request_uri cookie_nocache arg_comment;
如果任何一个参数值不为空,或者不等于0,nginx就不会查找缓存,直接进行代理转发
综合示例

nginx 缓存机制
三分钟看懂Nginx服务器的缓存原理和机制
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天之骄子生肖里指什么动物 富康ES500电池和供电系统需要维护保养吗? 如何正确认识过敏? 皮肤爱过敏跟免疫力低下有关系么? 公积金账户里有2万多能贷款多少? 钱包颜色有讲究吗钱包颜色的讲究 钱包什么颜色最旺风水 EXO12个人的出生年月日? 求一本小说都市讲的女主是从军队退役,曾在金三角获得什么称号因为爱上了... ...学了故意几十门武功想要走火入魔.借此离开军队.求名字 融资账户,股票卖出多日,转账为什么显示金额为0,尚有部分资金未还 oppoa72怎么呼叫小布 oppoa72如何唤醒小布 oppoa72如何语音唤醒小布 被封了没有好友辅助验证怎么办? 大班保育员个人工作计划5篇 保育员的个人工作计划如何写最好 有的pdf文件汉王pdf ocr 8.0只能打开目录,是不是出于版权保护? 表达热爱祖国山河的诗句 赞美祖国的5字4句诗 关于祖国的诗句佳句 关于赞国的古诗句 百度动态阅读量怎样计算 北京动物园有海豚吗 有谁去过常州动物园?里面有没有海豚? 郑州动物园有海豚么 海信空调设置吹风 2022芝麻分350能借到钱 给女儿的一封信300字 感人至深的信 农村家庭用什么装米最好 1个油是多少升油 求一张图片上面写着我是白羊座然后怎么怎么样怎么怎么样 第六节:Vue指令:v-bind动态属性绑定 VUE 动态添加style样式 (Vue -03)Vue绑定样式 + 计算属性 + 侦听器+ 过滤器 Vue3基础-模板语法 经纬度换算工具 经纬度换算工具介绍 餐后2小时血糖8.7是患糖尿病吗 餐后2小时血糖8.9是否正常 特美刻保温杯的竹炭干燥剂是什么成份? 梦见雕刻是什么意思 高中生怎么才能提高英语成绩 务农工作单位填什么 MYSQL的UPDATE子查询,UPDATE时避免使用子查询 社保报销多久到账? ...您毫不惧怕,针锋相对地跟他斗,唇枪舌剑,寸步不让,多解气。造句... 将下列成语补充完整,并选两个造句 信用卡退款算不算还款?她退货后竟然还逾期了.. 氟环唑、咪鲜胺炔螨特灭蝇胺能混合用吗- 问一问 福福锌和咪鲜胺能混配吗?