Nginx 缓存参数

看看这下面两个指令参数:

-----------------------------------------------------------------

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加密后的。