基于Proxy Cache的缓存机制
该机制是Nginx服务器自己实现的类似于Squid的缓存机制,它使用md5算法将请求链接hash后生成文件系统目录保存响应数据。
Nginx服务器在启动后,会生成专门的进程对磁盘上的缓存文件进行扫描,在内存中建立缓存索引,提高访问效率,并且还会生成专门的管理进程对磁盘上的缓存文件进行过期判定、更新等方面的管理。Proxy Cache缓存机制支持对任意链接响应数据的缓存,不仅限于200状态时的数据。
Proxy Cache缓存机制的一个缺陷是,它没有实现自动清理磁盘上缓存源数据的功能,因此在长时间使用过程中会对服务器存储造成一定的压力。
在该实例中,我们首先在http块中配置了缓存数据存放路径和Proxy Cache使用的内存Cache空间。
缓存数据存放在磁盘上/myweb/server/proxycache目录下,它包含两级hash目录,缓存数据的总量不能超过20MB;
如果缓存在5分钟内没有被访问,则强制更新。
内存Cache空间的名字为MYPROXYCACHE,大小不能超过10 MB,每隔1分钟遍历一次磁盘缓存源数据,更新内存Cache中的缓存索引。
之后,我们在server块中,配置使用上面设置好的MYPROXYCACHE内存空间进行Proxy Cache工作,对不同响应状态的数据缓存时间进行了配置。
Last updated
Was this helpful?