Memcached 内存缓存可以优化 WordPress 很多功能,让你的 WordPress 变得更快,接下来我们会通过一系列文章来讲解我是如何使用 Memcached 来深度优化 WordPress。

很多人问我 WordPress 怎么速度快,一般简单回答就是装 Memcached,这真的不是敷衍了事,一点不夸张,装上 Memcached 就可以让 WordPress 快上好几倍,但是真正用好 WordPress,还是需要对 WordPress 有更深的了解,所以我把我博客关于 Memcached 的所有文章重新整理一下,做个专题深度优化 WordPress 的合集,让大家真正理解 WordPress 优化。

什么是 Memcached?

Memcached 是一种高性能的分布式内存对象缓存系统,在动态程序中使用 Memcached, 既能提高访问的速度,同时还减低了数据库的负载。

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

最初 Danga Interactive 为提升 LiveJournal.com 的速度而研发了 Memcached,目前,最终实现了每天已经在向一百万用户提供多达两千万次的页面访问,而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。

Memcached 的 PHP 扩展

PHP 有两个 Memcached 扩展:“PHP Memcache 扩展” 和 “PHP Memcached 扩展”,这就是是我们搞混的地方。

PHP Memcache 扩展用 PHP 实现的,支持面向对象和面向过程两种接口,2004年就实现了,是老的扩展,而且功能少,属性也可设置的少。

PHP Memcached 扩展基于 libmemcached 开发的,使用 libmemcached 库提供的 API 与 Memcached 服务进行交互,只支持面向对象的接口,2009年才实现,Memcached 扩展功能更加完善,支持的函数更多,比如支持批量操作,现在一般建议使用 Memcached 扩展。

下面是一个支持功能对照列表:

对比项

Memcache

Memcached

发布日期

2004-06-08

2009-01-29 (beta)

仍在维护?

Yes

Yes

第三方依赖

None

libmemcached

Key自动修复

Yes

No

Append/Prepend

No

Yes

自动序列化

Yes

Yes

二进制协议

No

Optional

CAS

No

Yes

压缩

Yes

Yes

超时设置

Connect Only

Various Options

一致性哈希

Yes

Yes

延迟Get

No

Yes

Multi-Get

Yes

Yes

Session支持

Yes

Yes

指定Server get/set

No

Yes

数字存储

Converted to Strings

Yes

支持长连接?

Yes

Yes

Memcached 可以大大提高 WordPress 的效率

由于 WordPress 默认支持 Object Cache,所以在 WordPress 实现 Memcached 就是使用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次访问的时候直接从内存中读取。相比直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速度优势。

上图是我爱水煮鱼使用 Memcached 之后的缓存对象的命中率,可以看出命中率是非常高,接近 99%,基本上可以保证所有数据都是从能内存中取,所以使用 Memcached 进行缓存是非常有效的。

WordPress 如何启用 Memcached 缓存

首先需要明确一点,必须同时安装 Memcached 服务端和其 PHP 扩展。

如果安装了 Memcached 服务端不安装扩展,那么 PHP 无法操控 Memcached。同样如果安装了 PHP Memcached 扩展,但是没有安装 Memcached 服务端,那么这个就无法使用。

1. 首先服务器需要安装 Memcached 服务端,然后 PHP 需要安装上 Memcached 的扩展,再次注意 PHP 有两个扩展:PHP Memcache 扩展 和 PHP Memcached 扩展,两者仅仅相差一个字母 D,你可以通过 phpinfo() 这个 PHP 函数来查看到底安装的是哪个扩展,一定要使用 PHP Memcached 扩展。

2. WPJAM Basic 插件已经集成 Memcached 的功能,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下,注意不是 wp-content/plugins/。

3. WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。

4. 安装成功之后,WPJAM Basic 会自动在 WordPress > WPJAM 菜单下的的「系统信息」 下看到 Memcached 的信息:

WPJAM Basic 插件已经集成了 Memcached,下载 WPJAM Basic 之后,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下即可。

©我爱水煮鱼,本站推荐使用的主机:

本站长期承接 WordPress 优化和建站业务,要求很高,有兴趣请联系微信:「chenduopapa」或微信公众号:「WordPress果酱」。

wordpress mysql缓存_WordPress 如何启用 Memcached 内存缓存来提高网站速度相关推荐

  1. wordpress mysql优化_wordpress优化mysql数据库的方法

    和大家分享一下wordpress优化mysql数据库的方法,详情如下: wordpress优化mysql数据库的方法 mysql数据库良好稳定有效率的运行,除了linux操作系统给予强力支持外,还需要 ...

  2. linux禁用系统缓存,如何清理或禁用内存缓存?

    问题描述 系统启动后,几分钟内我的内存缓存就会填满,并开始使用交换.这是/proc /meminfo的屏幕截图. 但是,如果我可以在此之后禁用此进程/清理缓存,我认为我的系统将在某种程度上加速.如果我 ...

  3. wordpress mysql备份_wordpress怎么备份数据库

    wordpress的优势是开源,支持各种插件主题,最大的缺点就是吃主机性能,所以一些博主选择了zblog建站.人各有志,我还是喜欢Wordpress,毕竟wordpress是世界上最受欢迎的博客程序. ...

  4. wordpress mysql 安装_wordpress 搭建安装教程 1 安装数据库、SQLyog

    php-7.3.4-Win32-VC15-x64.zip  如果下载失效,从这里下载(英文版) https://windows.php.net/downloads/releases/php-7.3.5 ...

  5. wordpress开放注册_WordPress.com开源,欧洲开放数据门户网站以及更多新闻

    wordpress开放注册 在本周的开放源代码新闻摘要中,我们将介绍由欧盟委员会(European Commission)创建的全新泛欧开放数据门户网站,WordPress.com开放源代码等等! 2 ...

  6. Memcached对象缓存详解

    一.NoSQL概述 NoSQL数据存储不需要固定的表结构,通常也不存在连接操作.在大数据存取上具备关系型数据库无法比拟的性能优势.随着互联网web2.0网站的兴起,NoSQL数据库现在成了一个极其热门 ...

  7. 第一节 Memcached分布式缓存入门

    关于Memcached的博文太多了,以下是个人学习的收集整理. 本节讨论问题: 简单介绍与应用 下载安装注意事项 简单测试 Memcached分布式原理 一.介绍与应用 在常规的WEB开发下,基本都会 ...

  8. PostgreSQL GPU 加速(HeteroDB pg_strom) (GPU计算, GPU-DIO-Nvme SSD, 列存, GPU内存缓存)

    标签 PostgreSQL , GPU , heteroDB , pg_strom , CUDA , nvidia , DIO , Nvme , SSD , 列存 , GPU内存缓存 背景 Heter ...

  9. 【Android 内存优化】Bitmap 内存缓存 ( Bitmap 缓存策略 | LruCache 内存缓存 | LruCache 常用操作 | 工具类代码 )

    文章目录 一.Bitmap 内存缓存策略 二.LruCache 内存缓存 三.LruCache 常用操作 四.LruCache 工具类 五.源码及资源下载 官方参考 : Google 官方提供的 内存 ...

  10. php 写入内存缓存,示例:通过内存缓存来提升性能

    当在进行大量的计算时,提升性能最直接有效的一种方式就是避免重复计算.通过在内存中缓存和重复利用相同计算的结果,称之为内存缓存.最明显的例子就是生成斐波那契数列的程序,代码如下所示: package m ...

最新文章

  1. hdu1978 简单记忆化搜索
  2. Spring-profile设置
  3. 理解Node.js的异步非阻塞I/O模型
  4. ubuntu编译qemu报错:‘ERROR: DTC (libfdt) version = 1.4.0 not present.’
  5. SAP CRM WebClient UI BSP server event
  6. 微信小程序开发 Request Headers: Provisional headers are shown
  7. ThinkPHP5.1中使用Redis来缓存
  8. GIL , 线程池 , 同步 , 异步 , 队列 , 事件
  9. python商城源码_自学Python才几天,就成功编写出俄罗斯方块游戏,附自学教程
  10. camera android 黑屏,Android Camera.startPreview()启动未报错,但SurfaceView无画面输出
  11. 力扣 双周赛补题 2086. 从房屋收集雨水需要的最少水桶数
  12. 专业pdf转word转换软件 pdf转换器 pdf转txt pdf转ppt、excel
  13. 服务器物理硬盘序列号,服务器硬盘序列号查看
  14. MapGis67读取点线区
  15. 【生信技能树】【miRNA】学习笔记(一)
  16. 详细安装 kali 教程
  17. 【MOOC测试】数学模型
  18. 软件获取imei和imsi_获取设备信息(imei、imsi、uuid)的调整使用plus.device.getInfo方法的说明...
  19. 怎么读取cf卡id_simotion读写CF卡,保存/读取变量
  20. Android开发方向,我们如何选择?

热门文章

  1. 数据库系统概论(基础篇)中国人民大学 第一次考试
  2. 系统中如何做到实名认证
  3. 身份证实名认证API接口,选择的时候应该注意什么?
  4. Java 使用 throw 抛出异常
  5. php throw,PHP的Try, throw 和 catch简单用法
  6. android studio红色下划线,如何在Android Studio中为文字加下划线?
  7. Android 标题下划线 选中效果
  8. 南京国际动漫游戏博览会 一日游(10-5)
  9. 使用setBounds()函数设置Java布局
  10. 洛杉矶湖人队的科比 - 布莱恩特,一个最大的