humanmade / wordpress-pecl-memcached-object-cache
一个使用 memcached (不是 memcache) PECL 扩展的 WordPress 对象缓存。
This package is auto-updated.
Last update: 2024-08-24 00:53:18 UTC
README
❗ 关于插件状态的说明
自上次更新此插件以来,WordPress 引入了许多缓存 API 改进,例如 wp_cache_get_multiple。此插件尚未更新以利用这些新功能,因为 Human Made 现在已经使用 Redis 作为自己的缓存后端。它仍然应该可以工作,但与 WordPress 最新版本的函数相比,效率可能不会很高。
概述
该项目是一个 WordPress 对象缓存后端,实现了 Memcached PECL 扩展 中的所有可用方法。关于这与 Memcache PECL 后端的区别(注意 "d" 的包含/排除),请参阅我关于该主题的 文章。
安装
-
安装 Memcached 守护进程。Memcached 应该可以通过您选择的 Linux 发行版的包管理器获得。
对于 Ubuntu 和 Debian
apt-get install memcached
对于 CentOS
yum install memcached
请注意,您可能需要审查 Memcached 配置 指令。为了从 Memcached 获得最佳结果,您需要根据系统和用例对其进行配置。
-
启动 Memcached 守护进程
service memcached restart
-
验证 Memcached 是否已安装并运行。
-
从您的服务器,使用
telnet
进入 Memcached 服务器telnet localhost 11211
您应该会看到类似以下输出
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
-
在 Telnet 提示符中输入
version
。如果 Memcached 已安装并正在运行,您应该看到类似以下内容VERSION 1.4.14 (Ubuntu)
-
通过输入
ctrl
+]
、按enter
键,然后输入quit
并按enter
键退出 Telnet。
-
-
在您的服务器上安装 Memcached PECL 扩展。请注意,Memcached 有两个不同的 PHP 接口;一个是 PECL Memcache,另一个是 PECL Memcached。在这个情况下,Memcached 名称末尾的 "d" 非常重要。您应该可以从您的 Linux 发行版的包管理器中安装 PECL Memcached。
对于 Ubuntu 和 Debian
apt-get install php5-memcached
对于 CentOS
yum install php-pecl-memcached
请注意,如果您有更定制的 PHP 安装,您可能需要采取一些额外步骤来将 PECL Memcached 扩展链接到 PHP。如果您正在使用包管理器版本 PHP 和 PECL Memcached 设置,则通常不需要这样做。例如,许多
yum.conf
文件将排除以php
开头的软件包。您可能需要修改配置文件以安装此软件包。 -
验证 Memcached 守护进程正在运行,并且可以通过 PHP 的 PECL Memcached 扩展访问。测试此操作的最简单方法是运行一个简单的 PHP 脚本,该脚本连接到 Memcached 并尝试设置和检索一个值。
-
进入 PHP 的交互式 shell
php -a
-
在交互式 shell 中输入以下内容
$m = new Memcached(); $m->addServer( '127.0.0.1', 11211 ); $m->set( 'foo', 100 ); echo $m->get( 'foo' ) . "\n";
-
如果最后一个命令返回
100
,则一切正常!如果得到空白输出,则表示有问题。请注意,如果您的 PHP 配置不支持交互式 shell,您可以使用上面的代码创建一个在浏览器中执行的脚本。交互式 shell 在验证步骤中更容易使用,因为它不需要功能齐全的 Web 服务器。
-
-
现在服务器依赖问题已经解决,剩下的配置都在WordPress应用程序中。将object-cache.php文件放置在您的wp-content文件夹中。例如,如果您的WordPress安装根目录为/srv/www/wordpress,则object-cache.php的位置为/srv/www/wordpress/wp-content/object-cache.php。请注意,object-cache.php是一个WordPress插入式插件。它不是一个常规插件或MU插件。插入式插件直接位于wp-content文件夹中。
-
将以下内容添加到您的wp-config.php文件中
global $memcached_servers; $memcached_servers = array( array( '127.0.0.1', // Memcached server IP address 11211 // Memcached server port ) );
如果您的Memcached服务器位于不同的服务器或端口,根据需要调整这些值。如果您有多个Memcached实例,请将额外的服务器添加到数组中
global $memcached_servers; $memcached_servers = array( array( '1.2.3.4', 11211 ), array( '1.2.3.5', 11211 ) );
-
为了测试WordPress对象缓存设置,将以下代码作为MU插件添加
<?php $key = 'dummy'; $value = '100'; $dummy_value = wp_cache_get( $key ); if ( $value !== $dummy_value ) { echo "The dummy value is not in cache. Adding the value now."; wp_cache_set( $key, $value ); } else { echo "Value is " . $dummy_value . ". The WordPress Memcached Backend is working!"; }
添加代码后,请重新加载您的WordPress网站两次。在第二次加载时,您应该在页面上方看到一个成功消息。在验证设置后,请删除MU插件。
作者
- Zack Tollman
- 10up