WordPress 对象缓存:轻松提高网站性能
已发表: 2022-06-09任何人都不喜欢加载缓慢的网站。 如果您的网站加载时间超过 2 秒,人们会立即离开您的网站。
根据谷歌的说法,你的网站应该在两秒或更短的时间内加载。 再长的时间,游客就会开始失去兴趣。
当谈到您的网站性能增强时,WordPress 对象缓存可以为您提供最大的帮助。 在您的网站上正确配置对象缓存,您可以使您的网站对访问者做出超级响应。
对象缓存涉及存储数据库查询,当在您的 WordPress 站点上启用时,它可以帮助加快 PHP 执行时间、减少数据库负载并更快地向访问者提供内容。
如果您是 WordPress 新用户并且对 WordPress 对象缓存不太了解,则无需担心。 因为今天,在这个博客中,我们将讨论有关对象缓存的所有内容。 因此,请继续阅读以了解更多信息。
缓存如何在 WordPress 中工作
在进入 WordPress 对象缓存之前,让我们快速了解一下缓存在 WordPress 中是如何工作的。
当访问者访问您的网站时,基本上会发生这种情况:
- 来自世界任何地方的用户访问您的网站,他们的浏览器会联系您的网络服务器。
- 您的 WordPress 安装会联系安装它的数据库以获取您的帖子和其他存储的数据。
- 然后,Web 服务器将此数据编译成 HTML 页面并将其返回给用户。
- 如果您在站点上启用了缓存,服务器将在您的缓存中创建此请求的副本。
- 当再次发出类似的请求时,它将从缓存而不是数据库中提供服务。
这意味着 WordPress 缓存会保存您网站的静态页面以将其显示给访问者,而不会在每次访问者请求任何特定页面或帖子时生成动态内容。
这可以显着提高您的网站性能,尤其是当您一次处理网站上的大量流量时。
什么是 WordPress 对象缓存
缓存有两种主要类型:客户端缓存和服务器端缓存。
有许多类型的客户端缓存,但您可能最熟悉的一种是浏览器缓存。 这是浏览器存储静态网页内容的地方,因此下次有人访问您的网站时,该页面将从他们计算机上的缓存中提取,而不是再次下载。
对象缓存是一种服务器端缓存。 这意味着缓存存储在服务器上,而不是用户的浏览器上。
启用对象缓存后,您的服务器将创建缓存中每个请求的副本。 下次发出类似请求时,首先检查缓存并从那里提供请求,而不是查询数据库。
如果副本不存在,则向数据库发出请求以进行处理和编译。 一旦处理完毕,它就会被发送回浏览器,并在缓存中制作一个副本以供将来使用。
因此,对象缓存最大限度地减少了服务器必须查询数据库的次数。 此设置可以减少服务器上的负载,尤其是在流量高峰期。
在 WordPress 中解释“WP_Object_Cache”
WordPress 有一个内置的对象缓存,即 WP_Object_Cache。 它是一个 WordPress 类,可以自动将数据库中的任何数据存储在 PHP 内存中。 这样,它可以防止对数据库的重复和不必要的查询。
默认情况下,WordPress 对象缓存是非持久的,这意味着它只存储单个页面加载的数据。 一旦请求结束,缓存中的对象将被丢弃。
出于这个原因,您可能需要考虑使用持久缓存工具。 使用此工具,对象将在多个页面加载时被缓存,从而进一步提高性能。
Redis 和 Memcached 等外部持久对象缓存解决方案使得在请求之间持久化对象缓存成为可能。 这有助于加快数据库查询的交付,同时进一步减轻服务器的工作量。
3 款适用于 WordPress 的最佳持久对象缓存工具
现在有一些流行的 WordPress 对象缓存工具可用。 其中Redis、Memcached、APC使用的工具最多。 所以,让我们一一检查。
1.Redis
Redis 是一个用于 WordPress 网站的开源对象缓存解决方案,可以帮助减少 MySQL 数据库的负载。 如果您正在扩大您的网站或增加流量,它可能是您网站的有用工具。
Redis 将数据存储在内存中,而不是磁盘或 SSD。 因此,它提供了高性能。 它提供内置复制。 您可以将数据放置在更靠近用户的位置以获得最低延迟。
Redis 适用于许多数据结构,例如字符串、哈希、列表、集合等。 它具有许多强大的功能,包括内置复制、脚本和磁盘持久性。 Redis Sentinel 和 Redis Cluster 分别提供了额外的特性,包括高可用性和自动分区。
在您的服务器上安装 Redis 后,您可以使用与 Redis 兼容的插件(如 Redis 对象缓存)将其与您的站点连接。
2. 内存缓存
与 Redis 一样,Memcached 也是一个开源的分布式内存缓存系统。 它用于缓存数据库、API 调用和页面渲染。 它有助于通过减少数据库负载来提高应用程序的速度。
Memcached 为每个项目分配一个键、到期时间和原始数据。 当用户请求一段内容或数据时,Memcached 会首先在缓存中查找是否存储在那里。 如果是,它会从那里检索数据并且不需要检查数据库。
如果数据不在缓存中,Memcached 将向调用应用程序返回失败代码。 然后,应用程序负责从其他地方获取数据,并可选择将新数据重新提交回 Memcached。 get_option、get_postmeta 等 WordPress 函数确实使用缓存数据。
您将获得许多可在您的站点上使用的 Memcached 兼容插件。 其中,W3 Total Cache 是一个非常流行的插件。
3. APC
APC 或 Alternative PHP Cache 是一个免费的 PHP 开源缓存插件。 使用 APC 缓存,通过减少动态 PHP 执行,您的 PHP 脚本执行可以更有效地运行。
APC 与 Redis 或 Memcached 不同,因为它只关注 PHP 缓存。 通过减少动态 PHP 执行,脚本执行可以高效运行。 当浏览器发出页面请求时,服务器将解析 PHP 脚本中的代码,然后生成生成的 HTML 代码,该代码将在用户浏览器中显示为页面。
APC 是一个可以加载到 PHP 中的 PECL 模块,但由于它在服务器级别运行,因此无法在我们的共享托管服务器上运行。 如果您在 VPS 或专用服务器上并且可以轻松安装 PECL 模块,那么您可以继续在您的站点上安装 APC。
如何在您的 WordPress 网站中启用持久对象缓存
现在我们将向您展示如何使用 Homebrew 在 macOS 上安装 Redis。 Homebrew 是在 macOS 上安装 Redis的最简单方法。 您可以按照本教程在 Linux 和 Windows 上安装 Redis。
1.先决条件
首先,确保您安装了 Homebrew。 从终端运行:
$ brew --version
如果此命令失败,您需要按照 Homebrew 安装说明进行操作。
2.安装
从终端运行:
brew install redis
这将在您的系统上安装 Redis。
3、在前台启动和停止Redis
要测试您的 Redis 安装,您可以从命令行运行redis-server
可执行文件:
redis-server
如果成功,您将看到 Redis 的启动日志,并且 Redis 将在前台运行。
要停止 Redis,请输入Ctrl-C
。
4. 使用 Launched 启动和停止 Redis
作为在前台运行 Redis 的替代方案,您还可以使用launchd
在后台启动进程:
brew services start redis
这将启动 Redis 并在登录时重新启动它。 您可以通过运行以下命令检查已launchd
的托管 Redis 的状态:
brew services info redis
如果服务正在运行,您将看到如下输出:
redis ( homebrew.mxcl.redis ) Running: Loaded: User: miranda PID:
要停止服务,请运行:
brew services stop redis
5.连接Redis
Redis 运行后,您可以通过运行redis-cli
对其进行测试:
redis-cli
这将打开 Redis REPL。 尝试运行一些命令:
127.0.0.1:6379> lpush demos redis-macOS-demo OK 127.0.0.1:6379> rpop demos "redis-macOS-demo"
6. 安装和激活 Redis 对象缓存插件
连接到 Redis 后,您可以将 Redis 对象缓存插件添加到您的站点。
安装并激活插件后,导航到仪表板中的设置> Redis 。 然后单击“启用对象缓存”按钮以在您的站点上启用对象缓存。
而已! 您已成功在您的网站上启用 WordPress 对象缓存。
奖励:Dokan Multivendor 是否与 WordPress 对象缓存兼容
这是 Dokan 用户经常问的问题之一——Dokan 是否与 WordPress 对象缓存兼容?
是的! Dokan 现在与 WordPress 对象缓存兼容。 如果您使用的是 Dokan 最新版本 Dokan 3.5.0 或以上版本,您可以启用对象缓存并在您的站点上无缝使用 Dokan。
因此,请在您的服务器上安装一个 WordPress 对象缓存解决方案,如 Redis 或 Memcached,并使用 W3 Total Cache 或 Redis 对象缓存等兼容插件将其与您的站点连接。 然后为您的在线市场使用 Dokan 多供应商插件,并充分利用 WordPress 对象缓存。
Dokan 多供应商插件的早期版本(Dokan 3.5 之前)不支持对象缓存。 但是在Dokan 3.5版本发布后,现在它已经完全兼容WordPress对象缓存了。
WordPress 对象缓存 – 常见问题
缓存是指创建内容的静态版本并将其提供给访问者的过程。 静态页面通常在浏览器中快速呈现。 这可以提高您网站的性能。
瞬态可以持续一秒钟或一天,实际上取决于您希望它们存在多长时间。 但是,它不会在到期时间之后出现。 这意味着您可以设置到期时间,它将持续到到期时间。
它通过减少数据库负载来提高站点性能。 通过在您的网站上启用缓存解决方案,您将能够将网站的静态版本存储在缓存中。 这允许 WordPress 在每次站点加载时跳过运行较重的 PHP 脚本。
WordPress 不会自动删除过期的瞬态。 在几个月和几年的时间里,这些存在于数据库 wp_options 表中的已过期但未删除的瞬态可能会开始减慢速度并阻碍站点性能。 出于这个原因,我们应该删除过期的瞬态以提高 WordPress 网站的性能。
是的,WordPress 有一个名为 WP_Object_Cache 的内置对象缓存。 它于 2005 年推出,提供了一种自动将数据库中的任何数据存储在 PHP 内存中以防止重复查询的方法。
交给你
如果您想提高 WordPress 网站的性能,WordPress 对象缓存至关重要。 它可以通过在每次站点加载时不运行较重的 PHP 脚本来减少服务器负载。 相反,它会从您的缓存中向访问者显示所请求文件的静态版本。
您可以按照我们的教程在您的站点上设置和配置对象缓存。 此外,您可以在您的在线市场上启用对象缓存并顺利使用 Dokan,因为现在 Dokan 与 WordPress 对象缓存完全兼容。
所以,这就是我们关于对象缓存的全部内容。 现在轮到你了。 在您的站点上启用对象缓存,如果您在通过下面的评论框在您的站点上配置缓存时遇到任何复杂情况,请告诉我们。 我们很乐意尽早解决您的问题。