WP Super Cache插件预缓存(Preload)不缓存的一种解决办法
上个月章郎虫在查看哈罗网吧的时候发现文章缓存的内容居然还是6月份的,而且分类页和标签页等都没有更新新发布的文章。wp super cache的设置我是按照《WordPress缓存插件WP Super Cache设置》这篇文章介绍一步一步来的。起初一切都很顺利,Preload也会预缓存,现在出现这个状况还真的好奇怪。网上很多文章只是介绍怎么设置,而preload预缓存功能不缓存的问题章郎虫到现在还没有找到原因。wp super cache插件卸载重装后不行;上周还把wordpress和插件都重装过,还是不行。。。无奈之下想到如下解决办法,可能也不失为一种好方法。
PS:缓存时间可以在页面源码最下方查看,例如下方显示为『<!-- Cached page generated by WP-Super-Cache on 2012-06-23 22:51:37 -->』,说明这个页面是在 2012-06-23 22:51:37 缓存的。
原理很简单,前提是插件的缓存正常。当新访客访问页面时,wp super cache首先会判断这篇文章是否有缓存。如果没有缓存的话插件就会缓存内容保存下来,如果有缓存那么访客读到的就直接是一个静态页面,不会读数据库,等 有用户在页面评论的时候插件才会再一次缓存。
然后在高级设置中设置过期时限为0,停掉垃圾收集。如果开启了preload功能,在这里会看到如下提示——“Warning! PRELOAD MODE activated. Supercache files will not be deleted regardless of age.”。说明默认的缓存垃圾收集会关闭。Preload设置中把Refresh preload cache files的时间间隔也设为0,停掉自动预缓存。
最后章郎虫又选择了归档页、分类页、标签页等不缓存。
这样做的优点是可以减少数据库的读写,缺点也很明显,如果用户没有评论,那么内容会过期。博主又折腾了一把。。。
-
还没有Trackbacks
有个选项叫【当有新文章或页面的发布或更新时清除之前的缓存文件】,勾选了之后,发现只要更新一篇文章或一个页面,就会删除所有已预缓存的页面,很诡异。。。
所以那个就不要点撒:)
我也遇到了这个问题 预缓存有问题。。
缓存问题比较烦人,最后我用linux下的crontab来定时删除缓存文件了。。。