最后更新时间为 2022年2月21日
由于我买的阿里云是在HK,所以把域名用CloudFlare做CDN解析,那么WordPress的WP Super Cache还能用吗?先来从两者的缓存原理上来分析分析。
WP Super Cache缓存是什么原理
WP Super Cache是页面缓存(包括Surge)在内,它与Redis Object Cache、Batcache不一样,会在wp-content/cache
目录生成缓存文件。用户访问是读取硬盘上的文件。
CloudFlare CDN是什么原理
CloudFlare不仅是域名解析,其还有CDN加速的原理。用户访问网站 -> 请求CloudFlare节点,如果节点有缓存的页面即访问;如果节点无缓存的页面则CloudFlare去访问源服务器然后再给用户访问,或者访问资源服务器然后放到节点,用户从节点读取。这样就可以减少请求,利用节点缓存的页面实现CDN加速。
那么其本质上CloudFlare也是页面缓存,只不过WP Super Cache缓存在服务器中,CloudFlare缓存在节点中。
WP Super Cache是不是就不能用了
我们来看看这一片文章:WP Super Cache with Cloudflare,文中提到:
Don’t do it. Use one or the other.
They both do essentially the same thing, caching. You’ll run into problems sooner or later.
这是来自WP Super Cache官方的回答,一目了然,还是别用了。鱼和熊掌怎么兼得,奢侈啊!
那CloudFlare下的WordPress就没有缓存插件了?
当然不是,前面提到页面缓存,那自然还有内存缓存、Object cache等。Redis Object Cache、Batcache就是可以。启用内存缓存、数据库缓存等,只要不是页面缓存的方案,CloudFlare访问网站的时候就是去读的缓存页面来放到节点,这样比无缓存CloudFlare直接读取服务器就好太多了。