跳到主要内容

如何用Memcached内存缓存来提高网站速度?

当我们做网站优化的时候,网站速度优化是一个逃不开的话题,提高网站的速度,有利于提高网络蜘蛛爬虫的效率和用户的阅读体验,同时,有助于增加排名和网站权重。

什么是 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 扩展。

Memcached 可以大大提高 网站CMS 的效率

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

Memcached 命中率(使用率)

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

如何启用 Memcached 缓存

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

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

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

2. 使用插件集成 Memcached 的功能,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下,注意不是 wp-content/plugins/,我们要放到需要缓存的数据的根目录下。

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

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

插件- 系统信息 – 服务器

WordPress CMS插件开发者:我爱水煮鱼 果酱的星球

延伸阅读:

快速建站如何通过阿里OSSbucket访问静态网页?

如何通过阿里OSS实现图片JSS等的动静分离?

网站如何使用CDN加速?

网站如何实现动静态加速?

如何使用SEO入门指南五分钟上手优化网站?

返回顶部