Memcached 内存缓存来提高 WordPress 站点速度,怎么玩?安装WPJAM Basic插件

2022-07-2809:11:37网站建设与开发Comments1,419 views字数 2018阅读模式

WordPress 怎么速度快,一般简单回答就是装 Memcached,这真的不是敷衍了事,一点不夸张,装上 Memcached 就可以让 WordPress 快上好几倍,但是真正用好 WordPress,还是需要对 WordPress 有更深的了解。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

什么是 Memcached?

Memcached 是一种高性能的分布式内存对象缓存系统,在动态程序中使用 Memcached, 既能提高访问的速度,同时还减低了数据库的负载。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

Memcached 可以存储来自调用数据库和 API,或者页面渲染生成的任意类型的数据(字符串,对象)到内存中,也可以直接到内存中去读取。它的 API 支持目前大部分流行的编程语言,Memcached 的官方网站:http://memcached.org/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

最初 Danga Interactive 为提升 LiveJournal.com 的速度而研发了 Memcached,目前,最终实现了每天已经在向一百万用户提供多达两千万次的页面访问,而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

Memcached 的 PHP 扩展

PHP 有两个 Memcached 扩展:“PHP Memcache 扩展” 和 “PHP Memcached 扩展”,这就是是我们搞混的地方。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

PHP Memcache 扩展用 PHP 实现的,支持面向对象和面向过程两种接口,2004年就实现了,是老的扩展,而且功能少,属性也可设置的少。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

PHP Memcached 扩展基于 libmemcached 开发的,使用 libmemcached 库提供的 API 与 Memcached 服务进行交互,只支持面向对象的接口,2009年才实现,Memcached 扩展功能更加完善,支持的函数更多,比如支持批量操作,现在一般建议使用 Memcached 扩展文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

下面是一个支持功能对照列表:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

对比项MemcacheMemcached
发布日期2004-06-082009-01-29 (beta)
仍在维护?YesYes
第三方依赖Nonelibmemcached
Key自动修复YesNo
Append/PrependNoYes
自动序列化YesYes
二进制协议NoOptional
CASNoYes
压缩YesYes
超时设置Connect OnlyVarious Options
一致性哈希YesYes
延迟GetNoYes
Multi-GetYesYes
Session支持YesYes
指定Server get/setNoYes
数字存储Converted to StringsYes
支持长连接?YesYes

Memcached 可以极大提高 WordPress 的效率

由于 WordPress 默认支持 Object Cache,所以在 WordPress 实现 Memcached 就是使用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次访问的时候直接从内存中读取。相比直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速度优势。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

Memcached 内存缓存来提高 WordPress 站点速度,怎么玩?安装WPJAM Basic插件

上图是我爱水煮鱼使用 Memcached 之后的缓存对象的命中率,可以看出命中率是非常高,接近 99%,基本上可以保证所有数据都是从能内存中取,所以使用 Memcached 进行缓存是非常有效的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

WordPress 如何启用 Memcached 缓存

首先需要明确一点,必须同时安装 Memcached 服务端和其 PHP 扩展。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

如果安装了 Memcached 服务端不安装扩展,那么 PHP 无法操控 Memcached。同样如果安装了 PHP Memcached 扩展,但是没有安装 Memcached 服务端,那么这个就无法使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

1. 首先服务器需要安装 Memcached 服务端,然后 PHP 需要安装上 Memcached 的扩展,再次注意 PHP 有两个扩展:PHP Memcache 扩展 和 PHP Memcached 扩展,两者仅仅相差一个字母 D,你可以通过 phpinfo() 这个 PHP 函数来查看到底安装的是哪个扩展,一定要使用 PHP Memcached 扩展文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

2. WPJAM Basic 插件已经集成 Memcached 的功能,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下,注意不是 wp-content/plugins/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

3. WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

4. 安装成功之后,WPJAM Basic 会自动在 WordPress > WPJAM 菜单下的的「系统信息」 下看到 Memcached 的信息:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

Memcached 内存缓存来提高 WordPress 站点速度,怎么玩?安装WPJAM Basic插件

WPJAM Basic 插件已经集成了 Memcached,下载 WPJAM Basic 之后,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26145.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/26145.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定