您可以同时激活两个扩展程序。 PECL Memcache 和 PECL Memcached 都是 PHP clients 连接到 Memcached server。
关于利弊
如前所述,Memcached 建立在 libmemcached 之上,由 memcached 服务器团队维护。人们说它更好,但我无法验证这一点。
PECL 内存缓存仍然具有更好的 PHP 会话支持。
我发现(有点旧,但大部分仍然有效)比较表here
编辑
PHP 正在使用任一扩展连接到 Memcached 服务器。
以下是一些使用示例
PECL Memcached 在 PHP 中的使用示例
PECL Memcached class reference
// create PECL memcached Object
$m = new Memcached();
// add a server, connection is established lazily as far as I know
$m->addServer( 'localhost', 11211 );
// set values, those are written into your server's memory using the memcached server
$m->set( 'integer', 1 );
$m->set( 'intIncrement', 1 );
$m->set( 'intDecrement', 1 );
$m->set( 'string', 'I am a string' );
$m->set( 'array', array( 'a', 'b', 'c' ) );
// increment
$m->increment( 'intIncrement' );
// decrement
$m->decrement( 'intDecrement' );
// get values again
var_dump ( $m->get( 'integer' ) );
var_dump ( $m->get( 'intIncrement' ) );
var_dump ( $m->get( 'intDecrement' ) );
var_dump ( $m->get( 'string' ) );
var_dump ( $m->get( 'array' ) );
// delete values
$m->delete( 'integer' );
$m->delete( 'intIncrement' );
$m->delete( 'intDecrement' );
$m->delete( 'string' );
$m->delete( 'array' );
// close connection
$m->close();
PECL Memcache 在 PHP 中的使用示例
PECL Memcache class reference
这可以在同一个 PHP 脚本中!
// create PECL memcache object
$m = new Memcache;
// connect to the memcached server
$m->connect('localhost', 11211);
// set values
$m->set( 'integer', 1 );
$m->set( 'intIncrement', 1 );
$m->set( 'intDecrement', 1 );
$m->set( 'string', 'I am a string' );
$m->set( 'array', array( 'a', 'b', 'c' ) );
// increment
$m->increment( 'intIncrement' );
// decrement
$m->decrement( 'intDecrement' );
// get values again
var_dump ( $m->get( 'integer' ) );
var_dump ( $m->get( 'intIncrement' ) );
var_dump ( $m->get( 'intDecrement' ) );
var_dump ( $m->get( 'string' ) );
var_dump ( $m->get( 'array' ) );
// delete values
$m->delete( 'integer' );
$m->delete( 'intIncrement' );
$m->delete( 'intDecrement' );
$m->delete( 'string' );
$m->delete( 'array' );
// close connection
$m->close();
您还可以将对象存储到 memcached 中,查看这篇关于 object serialization 和 magic class methods __sleep 和 __wakeup() 在 PHP 中的文章
如您所见,PECL Memcached 和 Memcache 这两个客户端的基本用法非常相似。