网站首页 > 技术教程 正文
Nginx缓存
一般情况下系统用到的缓存有三种
- 服务端缓存:缓存存在后端服务器,如redis
- 代理缓存:缓存存储在代理服务器或中间件,内容从后端服务器获取,保存在本地
- 客户端缓存:缓存在浏览器
Nginx使用的缓存属于代理缓存
Nginx通过proxy_cache来实现缓存。Buffer(缓冲)主要用于传输效率不同步或者优先级不相同的设备之间传输数据,通过对一方数据进行临时存放,在统一发送的方式传递给另一方,以降低进程间的等待时间;Cache(缓存)主要用于将硬盘上已有的数据在内存中建立缓存数据,提高数据的访问效率。
而proxy_cache只有在Proxy Buffer机制开启的情况下Proxy Cache的配置才会发挥作用
相关配置
- proxyzone:zone | off 默认是off,即关闭proxycache功能,zone为用于存放缓存的内存区域名称
- proxycachepath: path [levels=levels] keyszone-name:size [inactive=time] [maxsize=size]
- path设置缓存数据存放的路径
- levels设置目录层级,如levels=1:2,表示有两个子目录
- keyszone 设置内存zone的名称和大小,如keyszone=my:10m
- inactive设置缓存多长时间失效,当磁盘上的缓存数据在该时间段内没有被访问过,就会失效,数据将被删除,默认10s
- max_size 设置硬盘中最多缓存多少数据,数据超出,则删除最少访问的数据
示例
http {
proxy_cache_path /var/www/cache #缓存地址
levels=1:2 #目录分级
keys_zone=test_cache:10m #开启的keys空间名字:空间大小(1m可以存放8000个key)
max_size=10g #目录最大大小(超过时,不常用的将被删除)
inactive=60m #60分钟内没有被访问的缓存将清理
use_temp_path=off; #是否开启存放临时文件目录,关闭默认存储在缓存地址
server {
# 使用缓存
location / {
proxy_cache test_cache; #开启缓存对应的名称,在keys_zone命名好
proxy_cache_valid 200 304 12h; #状态码为200 304的缓存12小时
proxy_cache_valid any 10m; #其他状态缓存10小时
proxy_cache_key $host$uri$is_args$args; #设置key值
add_header Nginx-Cache "$upstream_cache_status";
}
#不使用缓存
if ($request_uri ~ ^/(login|register) ) { #当请求地址有login或register时
set $nocache = 1; #设置一个自定义变量为true
}
location / {
proxy_no_cache $nocache $arg_nocache $arg_comment;
proxy_no_cache $http_pragma $http_authoriztion;
}
}
}
猜你喜欢
- 2024-10-13 Nginx 假死的原因以及解决方法(nginx故障)
- 2024-10-13 Nginx负载均衡出现扩容缩容如何减轻缓存失效的问题?
- 2024-09-28 Nginx 问题以及对应的解决方案(nginx常见问题)
- 2024-09-28 推荐一款nginx+redis+ehcache高并发与高可用缓存架构
- 2024-09-28 「Nginx」实现负载均衡、限流、缓存、黑白名单和灰度发布
- 2024-09-28 在nginx配置文件中设置nginx缓存(nginx怎么配置缓存)
- 2024-09-28 【Nginx基础】Nginx缓存使用案例(nginx做缓存)
- 2024-09-28 Nginx中浏览器缓存的执行流程(nginx 浏览器缓存)
- 2024-09-28 Nginx 缓存机制详解!非常详细实用
- 2024-09-28 vue项目如何有效解决的浏览器的缓存问题
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)