多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## proxy_cache 默认关闭对上游服务器的缓存的; 语法: ``` proxy_cache zone | off; ``` 默认值: ``` proxy_cache off; ``` 上下文: ``` http | server | location ``` ## proxy_cache_path 用来对缓存的路劲和内容进行配置的; path是必写的,缓存的目录; keys_zone必写的,共享内存的名称和各种参数; 语法: ``` proxy_cache_path path [levels=levels][use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] [min_free=size] [manager_files=number] [manager_sleep=time] [manager_threshold=time] [loader_files=number] [loader_sleep=time] [loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep=time] [purger_threshold=time]; ``` 可选参数含义: | 可选参数 | 含义 | | --- | --- | | path | 缓存文件的存放路径 | | levels | path目录层级 | | use_temp_path | off直接使用path路径,on使用proxy_temp_path路径 | | keys_zone | name是共享内存名称;size是共享内存大小 | | inactive| 在指定时间内没有被访问缓存会被清理;默认10分钟 | | max_size | 设定最大的缓存文件大小,超过将由CM(cache manager)清理 | | min_free | | | manager_files | CM清理一次缓存文件,最大清理文件数;默认100 | | manager_sleep | CM清理一次后进程的休眠时间;默认200毫秒 | |manager_threshold| CM清理一次最长耗时;默认50毫秒 | |loader_files| CL(cache loader)载入文件到共享内存,每批最多文件数;默认100 | |loader_sleep|CL加载缓存文件到内存后,进程休眠时间;默认200毫秒 | |loader_threshold| CL每次载入文件到共享内存的最大耗时,默认50毫秒 | 默认值: ``` proxy_cache_path off; ``` 上下文: ``` http ``` ## proxy_cache_key 定义缓存唯一key,通过唯一key来进行hash存取; 语法: ``` proxy_cache_key string ``` 默认值: ``` proxy_cache_key $scheme$proxy_host$request_uri; ``` 上下文: ``` http | server | location ``` ## proxy_cache_valid proxy_cache_valid 200 304 2m;说明对于状态为200和304的缓存文件的缓存时间是2分钟,两分钟之后再访问该缓存文件时,文件会过期,从而去源服务器重新取数据。 语法: ``` proxy_cache_valid [code...] time; ``` 上下文: ``` http | server | location ``` 示例: ``` proxy_cache_valid 60m; //不写状态码,只写时间,只对200,301,302响应码缓存; ``` ## upstream_cache_status变量 ![](https://img.kancloud.cn/16/5c/165c3b5603bd3f57d41029e8b7ba113d_1774x1020.png) ## proxy_cache 语法: ``` ``` 默认值: ``` ``` 上下文: ``` ```