
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress如何设置Memcached
WP集市
2025-09-01
【WordPress教程】
1045人已围观
-
首先你得有个Memcached服务跑起来,本地或者服务器上都行。Ubuntu的话一句命令:
sudo apt-get install memcached
,装完自动在后台跑,默认端口11211。别慌,这东西不吃资源,像个守仓库的老头儿只管存和取。 -
WordPress这边需要个“翻译官”插件,把对象转换成Memcached能懂的语言。推荐用 Memcached Object Cache,但注意不是Memcache(少个d)!差一个字母协议不同,会炸。下载
object-cache.php
文件扔进wp-content/
文件夹,像这样:
// 文件位置:wp-content/object-cache.php
<?php
$memcached_servers = array(
array('127.0.0.1', 11211) // IP和端口,多个服务器就写多行
);
没这个文件?去WordPress插件库找,或者自己写个——但建议别重复造轮子,除非你想半夜被缓存不生效搞疯。
-
然后打开
wp-config.php
,加一行代码定义缓存方式:
define('WP_CACHE', true);
这行告诉WordPress:“嘿,开始用对象缓存了,别傻乎乎每次都读数据库!” 注意加在/* That's all, stop editing! */
这行之上,不然它可能假装没看见。 -
检查是否生效:在网站根目录临时创建个
test.php
,内容:<?php $memcached = new Memcached(); $memcached->addServer('localhost', 11211); $memcached->set('test_key', 'It works!', 60); echo $memcached->get('test_key');
浏览器访问这个文件,如果输出 “It works!”,说明Memcached通了;如果报错?回去检查端口或防火墙。
-
进阶玩法:比如只想缓存数据库查询,可以在主题的
functions.php
里挂钩子:add_filter('pre_cache_query', function($result) { // 跳过某些不需要缓存的查询,比如用户私密数据 if (strpos($result, 'user_meta') !== false) return false; return $result; });
这样Memcached会跳过敏感内容,避免把管理员密码也缓存进去(那乐子就大了)。
-
最后用
wp-cli
清空缓存测试:wp cache flush
如果速度突然变慢又恢复,说明缓存重新生成成功了——就像憋气后猛吸一口氧,数据库突然轻松了。
注意:Memcached是内存缓存,重启服务数据会丢!适合临时缓存如会话、查询结果。重要数据还得靠数据库或者Redis持久化。别把它当硬盘用,它是金鱼脑,七秒记忆。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
