[个人原创]让nginx的proxy_store和proxy_cache支持ctrl+f5和PURGE二种方法

jackxiang 2011-7-11 14:56 | |
   主要是对我的个人博客的PHP执行代码进行Cache,对于Js,CSS直接在客户端缓存即可,这儿重点是对PHP的CGI执行结果在服务器端进行缓存,以减少服务器的DB查询压力,这样DB从21次/秒降低到13次/秒。目前让nginx的proxy_store和proxy_cache支持ctrl+f5和PURGE结合删除缓存的方法二种:
一.让ngx_cache_purge来帮忙,通过Nginx对ctrl+f5的标志来进行重写清除日志。
二.用PHP来实现清除后并再次跳转到对应的Uri模块,以实现页面缓存更新后的显示。
三.修改ngx_cache_purge源代码。。。。:(暂时忽略。
-----------------
方法一:

步骤1:需要编译安装ngx_cache_purge这个模块让它来对缓存进行清理。


步骤2:
nginx.conf中加入对Ctrl+F5刷新的标志判断并UrlRewrite:


对已经缓存的页面用Ctrl+F5后出现:
Successful purge

Key : jackxiang.com/read.php?entryid=4454&page=&part=
Path: /data0/proxy_temp_dir/c/b8/ea9939947c0cf37b9cae885987876b8c
nginx/1.0.4

清理成功!!
-----------------
方法二:
步骤1:
用PHP来实现,其Nginx配置代码修改为:

步骤2:
通过UrlRewrite后的结果到purge.php后进行Md5目录规则的删除,并再次刷新该页面,
purge.php代码如下:





作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/4454/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2011-7-11 15:10
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]