看看这下面两个指令参数:
-----------------------------------------------------------------
proxy_cache_path /home/cache levels=1:2 keys_zone=cache:10m inactive=10d max_size=30g;
proxy_cache_valid 200 304 30d;
proxy_cache_path中的inactive参数和proxy_cache_valid的区别:
1. proxy_cache_path的inactive指定缓存的数据在多久时间内不被请求,将被删除,即使是valid的。
2. proxy_cache_valid指定多久时间,缓存被认为是可用的,超过这个时间,将被认为是"stale",也就是失效的缓存内容。
3. 所以一般情况下,我们设置inactive的时间要比proxy_cache_valid要短。
下面两个指令意义:
--------------------------------------------------------------------
proxy_temp_file_write_size 64k;
proxy_temp_path /home/temp;
Nginx缓存数据的时候,会先写入一个临时文件,然后再执行mv到缓存目录下面,proxy_temp_file_write_size设置一次写数据到缓存文件的大小限制,proxy_temp_path设置临时文件的目录,特别要注意的是,
因为要执行mv操作,proxy_temp_path的目录和proxy_cache_path设置的目录最好在一个文件系统内。
设置缓存key格式
-----------------------------------
proxy_cache_key $host$uri$is_args$args;
这个参数指定缓存的文件名,当然,文件名是上面指定的key经过md5加密后的。