缓存类型
- 浏览器缓存
- Nginx代理服务器缓存
- 服务器缓存,例如Redis、Memcache等
缓存配置
http://nginx.org/en/docs/http...
upstream backend {
server x.x.x.x:1023;
server x.x.x.x:1024;
server x.x.x.x:1025;
}
#缓存存放的位置是 /data/nginx/cache,目录层级为两层,最多存放10G缓存
#缓存key存放的内存空间是 default_cache ,单个缓存最大为 10m
#自动移除60分钟内没有人访问的缓存
#在将缓存放置到 proxy_cache_path 以前,不使用 use_temp_path
proxy_cache_path /data/nginx/cache levels=1:2 max_size=10g keys_zone=default_cache:10m inactive=60m use_temp_path=off;
server {
...
location / {
#使用backend负载均衡组
proxy_pass http://backend;
#使用 default_cache 缓存
proxy_cache default_cache;
#200、304的响应缓存时间为12h
proxy_cache_valid 200 304 12h;
#非200、304的响应缓存时间为10m
proxy_cache_valid any 10m;
#使用$uri做为缓存key
proxy_cache_key $uri;
#对于如下特定状况,继续请求负载均衡组里面的其余服务器
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
#若是请求中含有参数或者为受权请求,则不缓存
proxy_no_cache $http_pragma $http_authorization;
#向客户端返回一个是否击中缓存的头信息
add_header Nginx-Cache "$upstream_cache_status";
}
}
缓存清理
rm -rf 缓存目录
- 使用
ngx_cache_purge
模块清理特定缓存
专题阅读