WordPress 缓存插件 imwpcache 常见问题解答

更新于 2024年11月24日 wordpress教程

WordPress 缓存插件 imwpcache 常见问题解答

很多同学在使用 imwpcache 缓存插件的时遇到问题都会跑来问我,而很多问题都是重复的。

我将一些有代表性的问题收集起来,整理成一篇文章供大家参考。

问题1: 哪种缓存驱动最快?

答: Redis = Memcache > SQLite。

但所有的驱动都非常快,快到你几乎感觉不出来选择不同驱动之后打开网站的速度差别。

插件内置多种驱动的原因在于方便用户根据自己主机的环境以及网站的特点选择适合自己的。

这里给出一些建议:

  1. 网站文章数量大于 10w,机器可用内存小于 2G,选择 SQLite。
  2. 网站文章数量小于 10w,主机可用内存大于 2G。想要速度最快,选择 Memcache 或者 Redis。
  3. 其他情况无脑选择 SQLite,插件开发者给出的默认的选项一定是最快捷方便的。

问题2:不同的缓存驱动之间的区别是什么?

答: 区别就是存储的位置的区别。

SQLite 缓存驱动将缓存存储在一个 SQLite 文件中。这种缓存存储的位置是磁盘。

Memcache 缓存驱动将缓存存储在 Memcache 服务上,缓存的读写和 Memcache 服务交互。所有缓存都存储在内存中。

Redis 缓存驱动将缓存存储在 Redis 服务上,缓存的读写和 Redis 服务交互。所有缓存都存储在内存中。

问题3: 缓存会自动生成吗?

会自动生成。

在下面:

  1. 文章发布时;
  2. 用户访问的时;
  3. 蜘蛛访问时;

这些场景中,如果页面没有缓存或者页面缓存已经过期了,则会自动生成新的缓存。

问题4:每次发布文章之后我都要去后台刷新文章缓存吗?

答: 不需要,文章发布的时候缓存会自动生成。缓存自动生成的时机已经解答。

问题5: 为什么后台的刷新文章缓存几天都没执行完成?

答: 刷新缓存的执行时间和你的网站的访问速度和文章数量有关系。如果您的网站文章数量太多且访问速度较慢,刷新缓存的时间可能会比较长。

比如你的网站有10w篇文章,访问文章页面的时间为500ms,如果同时生成pc端和移动端,消耗的时间大约为:100000*500*2 ms = 27小时。

问题6:为什么有了缓存自动生成之后还需要在后台增加刷新缓存功能?

答:后台的刷新缓存是预缓存。有两个作用:

  1. 预缓存可以提前生成缓存页面,让用户或者蜘蛛第一次访问的就是缓存页,速度快,体验好。
  2. 当我们的主题有改动时,重新预缓存可以在不影响用户的访问速度下刷新缓存。

问题7: 缓存能定期清理吗?

答: 可以定期清理。后台可以设置缓存过期时间,缓存过期之后会自动生成。生成时机上面已经解答。

问题8:如何设置全站静态?

答:使用sqlite驱动,设置永不过期即可。

问题9:如何判断页面已经缓存?

答:满足以下任意一条即可判断页面已经被缓存

  1. 退出登录状态下,打开某个页面明显感觉变快。
  2. 后台文章列表缓存那一列显示已缓存。
  3. 网页源代码最下面显示 cached by imwpcache。

问题10:为什么点击重新生成还是没有缓存?

答:有两种可能。

  1. 你的主机开启了防火墙把自己的 IP 加入黑名单或者过滤某些请求,导致刷新缓存时候请求自己的网站失败。请关闭所有防火墙重试,如果可以则表示防火墙屏蔽了生成缓存的请求。
  2. 你安装了某些 HTML 清理/优化的插件,把缓存插件向网页中添加的标签删除了,导致缓存插件无法判断页面是否被缓存。禁用此类插件即可。
  3. 你的主题或者列表缺少 wp_footer(); 调用,查看主题的 footer.php 中是否包含 wp_footer(); 这个代码,没有的话加上即可。

问题11:为什么我发布文章之后,显示未缓存?

答:按照以下步骤检查

  1. 缓存后台主动缓存是否是开启状态,如果不是,请开启再重新保存一次文章,看看是否显示缓存。
  2. 按照问题十的答案排查

问题12:我需要缓存分库吗?

答:文章数量超过10w,建议开启。

问题13:什么是主动缓存?

答:主动缓存是文章发布之后,主动生成缓存技术。对应的是被动缓存,也就是用户访问后生成缓存。主动缓存插件默认会开启,如果你不需要或者主动生成的缓存不正确,可以关闭这个功能。

问题14:SQLite缓存文件在什么情况下会损坏

SQLite 缓存结果是一个 SQLite 数据库,所以一定不要动这个文件,否则缓存文件会有损坏可能。一定不要在网站或者插件还在运行的时候对SQLite数据库进行任何改动。

如果需要复制这个数据库,请停止网站或者停用插件后再操作。

问题15:为什么我看到缓存后的 HTML?

因为缓存把 HTML 文件存入到不同的缓存驱动中了。

比如 SQLite是把所有的页面存入 SQLite 数据库中,相当于多个 HTML 文件打包在一起了。

这个静态的 HTML 你不能直接查看,只能通过浏览器打开页面查看。

问题16:为什么后台预缓存的时候,主机 CPU 爆满?

首先你要明白预缓存是什么。所谓预缓存,就是提前将内容缓存好,下一次用户访问的时候,直接访问的就是缓存的内容。

那么,将内容缓存好这一操是需要的 CPU 资源的,而且是需要大量的 CPU 资源,因此你会看到你的主机面板的 CPU 爆满。

问题16:后台预缓存的时候,有办法降低 CPU 使用吗?

将预缓存间隔调整到 1s 即可。当然,这样的话预缓存的速度就会慢。

很容易理解。资源就好比是你的力气,你要将100斤货物从一楼搬到六楼,你可以一次搬 100 斤,此时你的身体的负载就如同 CPU 100% 一样;你也可以一次搬运 50斤,那么你的身体就没那么累,但同时你需要的时间就翻倍了。

你可能还喜欢下面这些文章

WordPress 缓存插件  imwpcache 最快的全站静态化插件WordPress 缓存插件 imwpcache 最快的全站静态化插件

imwpcache是一款可最大限度提升网站访问速度的WordPress插件,通过多缓存引擎支持如SQLite、Memcache和Redis等,实现页面加载速度由秒级到毫秒级的提升。该插件提供全站缓存、缓存管理、缓存功能等,适用于多种类型的网站

wordpress用哪种缓存插件,哪种缓存插件比较好wordpress用哪种缓存插件,哪种缓存插件比较好

Cache是我们推荐的最后一款插件,这是一款可以立即使用的插件,作者已经把插件的默认设置调到最优,用户安装好以后只需要开启、保存,即可全面提速网站,插件提供了包括页面缓存、浏览器缓存、Gzip压缩、404页面缓存等多种功能,也是一个不错的选择

判断页面是否已缓存的 2 个方法判断页面是否已缓存的 2 个方法

用imwpcache缓存插件时,有时候觉得打开一个页面慢,因此不确定这个页面是否已经缓存。这篇文章就教大家判断一个页面是否缓存。同时这里还可以清除缓存方法二:查看源码标记首先使用浏览器的无痕模式(隐身模式)打开你需要检测是否缓存的页面。

缓存采样统计介绍缓存采样统计介绍

为了统计缓存命中率,每次访问时,插件会增加一个计数,当命中缓存时,插件会将命中缓存次数加一。如果你不希望统计缓存命中率,可以开启并且把采样频率设置为0,这样表示不统计。

WordPress 加速引擎,一款真正从底层加速 WordPress的插件WordPress 加速引擎,一款真正从底层加速 WordPress的插件

加速原理市面上面常规的后台加速插件大概分为两类:合并压缩或者替换js、css等静态资源达到加速页面加载的目的缓存后台数据库查询达到加速的目的其中第一类基本没什么用,文章数量少的时候不需要加速,文章数量一多不会有任何加速效果。

网站卡成狗,原因竟然是没安装opcache网站卡成狗,原因竟然是没安装opcache

启用opcache,登陆状态下(不用全站缓存)打开首页331ms。停用opcache,打开首页(不用全站缓存)。一、opcache扩展二、imwpcache全站静态缓存插件。

imwpcache如何使用ssi技术在所有页面展示最新文章imwpcache如何使用ssi技术在所有页面展示最新文章

生成文件路径如无特殊要求留空,默认会在网站的根目录中生成一个latest.html文件,该文件为最新文章列表。当文章更新的时候latest.html会自动更新,历史页面也会包含最新文章列表。

WordPress自动内链插件 WPKAL ,网站全自动增加锚链接必备插件WordPress自动内链插件 WPKAL ,网站全自动增加锚链接必备插件

什么是内链内链,顾名思义就是在同一网站域名下的内容页面之间的互相链接(自己网站的内容链接到自己网站的内部页面,也称之为站内链接)。自动内链工作原理简单来说,我们设定一些词表以及词表对应的链接,比如词是wordpress插件,链接是http。