# Memcache

Memcache 模块提供了于 memcached 方便的面向过程及面向对象的接口,memcached 是为了降低动态 web 应用从数据库加载数据而产生的一种常驻进程的缓存产品 --- PHP 手册

Memcache 是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的 hash 表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

memcache 是完全在 PHP 框架内开发的,原生实现的,支持 OO 和非 OO 两套接口。

memcache 的守护进程名字也叫 memcached。

pecl/memcache 2.x 系列的版本最新 stable 版为 2.2.6,pecl/memcache 3.x 版本最新为 3.0.5beta 版。下载地址


测试:

//procedural API
$memcache1 = memcache_connect('localhost', 11211);
$memcache1->set('testkey1', '123');
echo $memcache1->get('testkey1');
//OO API
$memcache2 = new Memcache;
$memcache2->connect('localhost', 11211);
$memcache2->set('testkey2', '1234');
echo $memcache2->get('testkey2');

# Memcached

Memcached 是一个高性能分布式的内存对象缓存系统,通常被用于降低数据库加载压力以提高动态 web 应用的响应速度。此扩展使用了 libmemcached 库提供的 api 与 memcached 服务端进行交互 --- PHP 手册

memcached 是使用 libmemcached,只支持 OO 接口。

pecl/memcached 1.x 系列的版本最新 stable 版为 1.0.2,pecl/memcached 2.x 版本最新为 2.2.0 版。下载地址

测试:

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$memcached->set('testkey', '12345');
echo $memcached->get('testkey');

# 区别

https://code.google.com/p/memcached/wiki/PHPClientComparison