最后更新时间为 2020年7月1日
缓存是一项复杂的技术,可以很好地完成一件简单的事情:它可以使您的网站运行地更加快速。速度对于网站的成功至关重要,因为人们不喜欢等待网页加载。实际上,研究发现,有47%的人希望网页在2秒或更短的时间内加载,而40%的人会放弃耗时超过3秒的网页。
因此,您会认为网站的文件大小正在缩小,对吗?其实不是的!今天的平均网页要求用户下载2.2MB的数据,而2010年仅为702KB。由于图像、视频、脚本和字体等内容,大小增加了317%。
幸运的是,安装缓存插件可以更快地加载您的网站-额外的文件和全部。在本文中,我将介绍什么是缓存,并说明不同类型的缓存,但主要关注缓存插件以及为什么需要尽快安装一个缓存插件。
什么是缓存?
缓存是将经常访问的数据临时存储在缓存中的过程。为了正确解释它,让我们首先看一下不使用缓存时发生的情况:
当某人访问您网站上的页面时,他们需要向您的网络主机请求信息。这些请求包括HTML和PHP文件、脚本、图像和字体之类的文件。除此之外,用户还需要检索WordPress数据库中存储的内容,例如文章和页面。
大致的流程如下:
- 访问者登陆您的网站,他们的浏览器联系您的Web服务器
- 您的WordPress安装会从数据库中检索信息,例如文章和其他数据
- 然后,Web服务器将这些数据编译成HTML页面,并将其提供给访问者
由于WordPress是动态生成内容的,因此这意味着每次访问者查看页面时,它都会请求有关网页的新信息。尽管这可以确保访问者在我们的网站上看到最新信息,但这也意味着访问者必须等待更长的时间才能加载您的网页。
这就是使用缓存插件的原因。
缓存插件如何工作
通常,网站上的页面和文章发布后不会有太大变化,除非您重新设计网站或更新内容。因此,缓存插件的作用是创建网页的静态版本,并将其交付给访问者。这意味着,当访问者返回您的站点以再次查看它时,他们将看到一个缓存的版本。
打个比方:
您可以到商店购买一些牛奶、咖啡、面包等,放在冰箱内,需要吃的时候就从冰箱拿,不必每次都跑到商店去买。当冰箱没有对应的食物了,再去商店买就可以了。冰箱是缓存,而商店就是Web服务器。
WordPress缓存的优点在于,它在访问者甚至不知道的情况下就发生了。它最大程度地减少了访问者的浏览器,WordPress数据库和Web服务器之间传输的数据量,从而缩短了加载时间。
更新网页时会发生什么?
您可能会想,当您更新网站上的内容时,返回的访问者不会加载该内容吗?不是这样的。缓存插件具有一种清空缓存的机制,然后在满足特定条件(比如发布新文章)时,使用更新后的内容重新生成缓存。
假设您更新首页标题中的内容,但未触摸网站上的其他内容。缓存插件将删除您的主页的缓存版本并保存一个新版本,但是由于您的页面没有被更改,因此不会触及您网站上的其余页面。
缓存类型
缓存有两种主要类型:客户端和服务器端。
客户端缓存
网站上有很多静态数据,例如图像、样式表和脚本。客户端缓存(也称为浏览器缓存)使您的浏览器可以存储此静态内容,因此无需在每次访问站点时都下载它们。它们只是从存储在计算机硬盘上的本地缓存中提供。
例如,当您第一次访问WordPress大学站点时,您的浏览器将下载显示此页面所需的所有文件并立即对其进行缓存。下次访问时,页面加载速度会更快。
服务器端缓存
与用于WordPress缓存的服务器端缓存相关的缓存类型有多种,您可以使用WordPress缓存插件进行控制,包括:
- 页面缓存:这是最简单的缓存协议。这是将动态生成的网页保存在服务器硬盘上,并在每次发出请求时从缓存中为其提供服务的过程。
- 移动端缓存:类似于页面缓存,移动端缓存为每个要缓存的文档为移动设备创建专用的缓存文件。这意味着使用移动设备返回您网站的访问者将能够更快地访问您的网页。
- 用户缓存:这种类型的缓存会为每个登录的WordPress用户创建一组专用的缓存文件。这意味着您的网站将被正常访问者缓存,并且将为登录到您网站的每个人存储一组单独的缓存文件。
- 数据库查询缓存:这种缓存类型使您可以将单个查询的结果缓存到数据库中,并将其存储在Web服务器上,直到发布新文章,更新现有文章或更改WordPress设置为止。
- 基于对象的缓存:WordPress有自己的内部缓存系统,其中包括几个子系统,例如缓存API,对象缓存和瞬态API。可以通过缓存插件来控制此缓存系统,以减少数据库调用的次数。
- 操作码缓存:WordPress网站上的所有PHP页面都必须编译为访问网页的设备可以执行的代码。操作码缓存可在请求之间保存此已编译的代码,这意味着更少的编译,进而减少了服务器的工作量并缩短了服务器响应时间。
为什么需要插件来控制缓存
如果没有任何缓存,您网站的访问者每次访问您的网站时都必须下载您的网页。但是,借助现代浏览器,浏览器缓存可确保返回访问您的网页的用户将能够更快地访问您的内容。
缓存插件使您可以通过删除WordPress动态生成页面时发生的许多步骤来进一步执行所有操作。
使用缓存插件,您可以启用各种类型的服务器端缓存,例如页面缓存和对象缓存。另外,顶级的缓存插件(包括WP Rocket)包括GZIP压缩、CDN集成以及CSS、HTML和JavaScript压缩等附加功能,以进一步提高网站的性能。
WordPress缓存插件
WordPress最受欢迎的三个缓存插件是:
- WP Rocket
- W3 Total Cache
- WP Super Cache
这些插件在WordPress社区中都享有很高的声誉,并具有各自独特的功能集。
缓存插件的工作方式会有所不同,具体取决于多种因素,包括您使用的主机服务器的类型,服务器的配置是否正确以及网站上的内容等等。
因此,为了确定最适合您网站的缓存插件,我建议您使用Google PageSpeed insights、GTmetrix 或 Pingdom之类的工具测试您的网站速度,以对您的网站速度进行基准测试。然后安装您正在考虑的插件,并一次激活它们,根据需要配置设置,并通过测试工具再次运行您的站点,并记录结果。