什么是缓存以及为什么它很重要?如何在WordPress中使用对象缓存?

不可能高估缓存对网站性能的影响。然而,有多种不同类型的缓存,以及多种缓存解决方案可供选择。这意味着许多 WordPress 用户不确定从哪里开始缓存,甚至不确定他们是否需要缓存。

什么是缓存以及为什么它很重要?如何在WordPress中使用对象缓存?-南华中天

快速的网站对于提供出色的用户体验至关重要 - 它可以提高您的搜索引擎排名并推动转化。虽然缓存可能有点技术性,但它也可以帮助您实现所有这些目标,甚至更多。

在本文中,我们将为您的 WordPress 网站揭开缓存的神秘面纱。我们将探索什么是缓存,以及各种可用的选项。然后,我们将深入探讨一种不太常讨论的缓存解决方案,但可以为您的 WordPress 网站带来真正的好处。让我们开始吧!

什么是缓存(以及为什么它很重要)

默认情况下,只要有人登陆您的网站,他们的浏览器就会向您的服务器发送对该页面的请求。然后服务器处理这个请求,编译页面,并将它发送回浏览器。

如果您的网站流量相对较低,您的服务器可能能够处理每个请求,而不会对您网站的性能产生明显影响。但是,随着站点的增长,您的服务器将不得不更加努力地工作以处理越来越多的请求。这可能会开始影响您网站的性能。

缓存是将经常访问的数据存储在临时缓存中的过程。每次访问者请求此数据时,都会从缓存而不是服务器提供该数据。这减少了后者的压力。

如果数据尚未缓存,则请求将发送到服务器。但是,在返回浏览器的过程中,该数据的副本将存储在缓存中。这确保下次有人请求此内容时缓存副本可用。

缓存可以提高您网站的性能,即使在流量很大时也是如此。这样可以更轻松地扩展您的网站,并处理意外的流量高峰。

什么是缓存以及为什么它很重要?如何在WordPress中使用对象缓存?-南华中天

缓存还可以帮助您通过更快地交付内容来提供更好的访问者体验。由于访问者在您的网站上获得了积极的体验,他们更有可能采取积极的行动,例如订阅您的时事通讯或购买产品。这有望提高您的转化率和收入。

谷歌等搜索引擎也使用页面速度作为排名因素。这意味着缓存可以对您的搜索引擎优化(SEO) 产生积极影响。在 Google 的结果中仅上升一个位置就可以将您的点击率(CTR) 提高 53% 以上,从而使 SEO 成为扩大受众的重要方式。

不同类型的缓存(及其好处)

有多种缓存解决方案供您选择。虽然它们通常遵循相同的一般原则,但具体的解决方案在实践中可能会有所不同。

使用一些缓存解决方案,数据会在他们第一次访问您的网站时本地存储在他们的计算机上。在随后的访问中,这些数据可以从他们的本地存储中加载。这将提高页面加载速度。然而,俗话说,你永远不会有第二次机会给人留下第一印象!如果访问者的第一印象是一个缓慢、反应迟钝的网站,他们就不太可能再次访问。

其他解决方案提供存储站点缓存版本的外部位置,最著名的是内容交付网络(CDN)。这些位置通常是物理分布的,为您的全球受众提供方便的本地访问点。访问者的浏览器将从物理上离他们最近的访问点请求缓存数据。与与可能位于数千英里之外的服务器通信相比,这通常会提高您的页面加载速度。

可用的缓存解决方案可能因您构建站点的方式而异。例如,如果您使用的是 WordPress 等流行平台,您将可以访问一系列专用缓存工具。

一些托管服务提供商也提供他们自己的缓存解决方案。为了帮助您创建一个高性能的网站,您可能希望选择提供缓存作为其托管计划一部分的提供商。

什么是缓存以及为什么它很重要?如何在WordPress中使用对象缓存?-南华中天

“对象缓存”如何改善您的网站

Memcached被归类为对象缓存系统。在我们特别仔细研究 Memcached 之前,了解一下对象缓存的概述会有所帮助。

作为内容管理系统 (CMS),WordPress 严重依赖其MySQL 数据库。这意味着数据库效率对于提供高性能的 WordPress 网站至关重要,尤其是随着访问您网站的人数不断增加。

每次有人向您的网站发出请求时,它都会生成一个数据库查询。如果您的站点收到大量对数据库的请求,它可能会使您的服务器不堪重负。这可能会导致性能下降,甚至可能导致您的网站离线。

对象缓存是一种存储数据库查询的服务器端缓存。下一次请求特定数据时,它将从缓存中传送,而无需查询数据库。这意味着您的服务器不必每次有人请求特定数据时都重新生成数据库查询的结果。

您可以使用多种技术来存储对象缓存。这包括 Memcached,也包括 WordPress 的WP_Object_Cache类。

WordPress 的内置解决方案(以及为什么需要额外的对象缓存)

WordPress 有自己的对象缓存类,称为WP_Object_Cache。这个内置的对象缓存解决方案保存了您网站上运行的最复杂和最常用查询的副本。然后它将这些结果存储在数据库表中。

通过这种方式,WP_Object_Cache可确保在针对类似查询请求的单个页面加载期间不会多次查询数据库。但是,在每个请求结束时,WP_Object_Cache会丢弃其缓存中的所有对象。这意味着下次请求页面时必须从头开始构建对象。

为了获得最大的性能优势,您需要在多个页面加载之间保留对象缓存。这称为持久对象缓存,因为对象缓存在请求之间持续存在。

持久对象缓存不是一直缓存每个页面或对象,而是使您能够缓存对象一次,并根据需要提供它们。这使得持久对象缓存对于具有大量重复内容的站点尤为重要。有许多适用于 WordPress 的持久对象缓存解决方案,包括 Memcached。

什么是缓存以及为什么它很重要?如何在WordPress中使用对象缓存?-南华中天

Memcached 简介

Memcached 是一种开源持久对象缓存工具。这实质上意味着 Memcached 存储对象,以便它们可以在页面加载之间重复使用。Memcached 将其数据保存在读取访问内存 (RAM) 中,这减少了需要读取数据库的次数。

Memcached 属于NoSQL系列数据管理解决方案,并基于键值对存储其所有数据。这包括 API 调用和数据库调用的结果。

Memcached 作为一种持久化对象缓存解决方案,在频繁请求同一块数据时特别有用。例如,您的站点可能包含大量重复出现的内容。当生成特定内容的成本很高时,Memcached 还可以显着提升性能。

除了 WordPress 的内置WP_Object_Cache类之外,通过使用 Memcached,您可以显着减少站点 MySQL 数据库的压力。这可以减少您的响应时间和页面加载时间,即使您的网站流量很大。它还可以帮助您的网站管理意外的流量高峰,包括臭名昭著的Reddit“死亡拥抱”。

Memcached 对象缓存解决方案的工作原理

Memcached 使用基于四个组件的客户端-服务器架构。第一个组件是客户端服务器,它保留可用 Memcached 服务器的列表。

每当客户端-服务器接收到查询时,它首先检查该数据是否存在于缓存中。如果数据已经可用,Memcached 会在不中断数据库的情况下将其返回给客户端。如果数据未缓存,Memcached 会将请求转发到数据库。

为了帮助分配负载,典型的 Memcached 实现由多个服务器和客户端组成。Memcached 使用基于客户端的散列算法将每个请求匹配到适当的服务器。

还有 Memcached 服务器软件,它存储各种对象的键/值组合。这包括 API 调用、页面呈现和数据库调用的结果。Memcached 将这些键/值组合存储在内部哈希表中。

最后,Memcached 有一个最近最少使用 (LRU) 算法。该算法通过识别最近最少使用的对象来帮助防止缓存无限增长。

LRU 作用于链表。每当访问或更新列表条目时,它就会从列表中删除并附加到列表头。这意味着列表底部的条目最近使用的次数少于列表顶部的条目。每当 Memcached 需要重用内存时,它就会从列表底部删除条目。

在您的 WordPress 网站上使用 Memcached 的好处

Memcached 存储数据库查询的结果。因此,无论何时访问者再次请求相同的查询,Memcached 都可以响应而无需处理该查询。

通过这种方式,Memcached 可以显着提高您网站的性能,并减少页面加载时间。研究表明,40% 的人会放弃加载时间超过三秒的网站。Memcached 可以帮助您避免因页面加载时间缓慢而失去大量受众。

快速、响应迅速的网站通常还能提供更好的整体访问者体验。由于访问者在您的网站上度过了愉快的时光,因此他们更有可能访问多个页面。这会增加关键性能指标,例如会话持续时间和访问的页面总数。它还增加了重复访问和转换的机会。

还有证据表明搜索引擎使用速度作为主要的页面排名因素。通过减少页面加载时间,Memcached 可以为您的 SEO 做出积极贡献。这也可以提高您的搜索引擎排名。

研究表明,Google 的前五个自然搜索结果获得了超过三分之二的点击次数。通过使用 Memcached 提高网站性能,您可以显着增加自然流量。

数据库必须处理的每个请求都会增加服务器的负载。在向数据库发送请求之前,Memcached 会检查其内存。如果存在相关缓存,Memcached 会在不涉及数据库的情况下回复请求。这可以减少服务器的负载,从而帮助您的网站处理更大的流量。这包括意外的流量高峰。

如何在 WordPress 中使用对象缓存(3 个简单步骤)

Memcached 位于您的托管服务器上。鉴于此,在您可以使用 Memcached 之前,您的托管服务提供商将需要安装它。我们很高兴帮助您启动并运行 Memcached。客户可以通过客户门户打开支持票,我们将处理其余的事情。在您的系统上成功安装 Memcached 后,让我们看看如何配置它。在本节中,我们还将展示如何衡量对象缓存对您网站的影响。

1. 获得绩效基准

在启用 Memcached 之前,获取性能基准可能很有用。这使您能够衡量 Memcached 对您的 WordPress 网站的影响。

您可以使用多种平台来衡量网站的性能。但是,GTmetrix提供了网站加载指标的详细分类。这对于评估页面加载时间特别有用。

要查看您的站点当前的运行状况,请转到 GTmetrix 主页并输入您站点的 URL。然后 GTmetrix 将生成一份关于您网站性能的详细报告。

该报告分为几个选项卡。Waterfall选项卡显示您网站上每个资产如何加载的可视化表示。这包括您的 CSS、HTML、JavaScript、图像和插件。您可以使用提供的瀑布图来分析每个资产如何影响您网站的加载时间。

“历史”选项卡显示您站点的历史性能。您可以使用此选项卡比较启用 Memcached 前后的页面加载时间。

虽然您可以免费分析您的网站,但也可以使用GTmetrix Pro。此 Pro 软件包添加了一些额外的功能,包括资源使用情况图表、每小时监控和报告的无限自定义过滤器。

2.使用专用插件

我们通过我们的A2 优化插件提供 Memcached 。这是为您的 A2 托管帐户配置 Memcached 的最简单方法。使用 A2 Optimized,您可以配置 CSS、HTML 和 JavaScript 缩小。您还可以启用数据库、对象和页面缓存。

安装并激活 A2 Optimized 插件后,导航至Plugins > Installed Plugins。在此页面上,找到 A2 Optimized 插件并选择其附带的设置链接。

然后您可以选择开始安装 > 激活 > 开始配置。A2 Optimized 现在将扫描您的网站并提出一些提高网站性能的方法。

要激活 Memcached,请滚动到Memcached部分并选择Enable。Memcached 现已启动并运行,并将开始缓存您的数据。

或者,您可以使用W3 Total Cache等缓存插件配置 Memcached 。W3 Total Cache 是一个与网络主机无关的网络性能优化 (WPO) 框架,它与一系列托管解决方案兼容。这包括共享主机、专用主机和虚拟专用服务器。

要使用 W3 Total Cache 启用 Memcached,请激活插件并导航至Performance > General Settings。接下来,打开Page cache method下拉菜单,然后选择Memcached。

然后,打开Minify 缓存方法下拉菜单,并选择Memcached。最后,打开Database cache method下拉菜单,然后选择Memcached。保存您的更改,Memcached 现在将在您的网站上启用。

3. 如何重新测试您的 WordPress 网站的性能

激活 Memcached 后,您可能想要测试网站的性能。这可以帮助您评估 Memcached 对关键指标的影响,尤其是页面加载时间。您可以重新运行 GTmetrix,并使用该工具的历史选项卡比较结果。

通过重新检查您网站的性能,您可以确定其他可以改进的地方。正如我们之前提到的,有多种缓存方法和各种可用的缓存解决方案。为了进一步提高您网站的性能,您可能需要考虑实施 CDN 或使用专用缓存插件。

如果您选择了 A2 Optimized 插件,我们建议您探索它的一些附加功能,尤其是TurboCache。第一次请求页面时,TurboCache 会存储页面 HTML 输出的静态副本。然后服务器将使用这个缓存的副本进行后续的页面请求,而不是重复运行页面的脚本和数据库查询。这可以进一步提高您网站的性能。

结论

在优化您的 WordPress 网站时,缓存起着至关重要的作用。虽然它看起来像是一个技术主题,但在您的托管服务提供商的帮助下,您可以获得高级缓存解决方案,例如在您的 WordPress 网站上启动并运行 Memcached。

Memcached 是一种驻留在托管服务器上的缓存机制。因此,启用 Memcached 的第一步是联系您的托管服务提供商。一旦他们启用了 Memcached,您就可以使用优化插件来激活和配置这个高级缓存解决方案。

影响网站性能的因素有很多,包括您选择的托管服务提供商。与竞争对手的 WordPress 网络托管服务提供商相比,我们的Turbo 服务器可以将页面加载速度提高多达 20 倍。当与缓存结合使用时,这可以增强您的 WordPress 网站。