我们在上篇文章里()介绍了LNMP的安装方法.只安装了memcache客户端.有些用户可能需要memcached这种客户端的.这里介绍一种php客户端memcached的安装方法.
之前在安装memcache时有提到memcached客户端是叫memcache,其实还有一个基于libmemcached的客户端叫memcached,据说性能更好,功能也更多。参考:
memcache的官方主页: http://pecl.php.net/package/memcache
memcached的官方主页: http://pecl.php.net/package/memcached
以下是我安装Memcached版本的PHP模块的过程记录:
#wget http://download.tangent.org/libmemcached-0.9.tar.gz
#tar zxf libmemcached-0.9.tar.gz
#cd libmemcached-0.9
#./configure --prefix=/usr/local/libmemcached --with-memcached
#make
#make install
#wget http://pecl.php.net/get/memcached-1.0.2.tgz
#tar zxf memcached-1.0.2.tgz
#cd memcached-1.0.2
#/usr/local/php/bin/phpize
#./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --prefix=/usr/local/phpmemcached
#make
#make install
在php.ini中加入
extension=memcached.so
完成
另:在安装libmemcached时,如果只用./configure,可能会提示:
checking for memcached… no
configure: error: “could not find memcached binary”
两者使用起来几乎一模一样。
$mem = new Memcache;
$mem->addServer($memcachehost, '11211');
$mem->addServer($memcachehost, '11212');
$mem->set('hx','9enjoy');
echo $mem->get('hx');
$md = new Memcached;
$servers = array(
array($memcachehost, '11211'),
array($memcachehost, '11212')
);
$md->addServers($servers);
$md->set('hx','9enjoy');
echo $md->get('hx');
memcached的方法比memcache多不少,比如getMulti,getByKey,addServers等。
memcached没有memcache的connect方法,目前也还不支持长连接。
memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。
Memcache是原生实现的,支持OO和非OO两套接口并存,memcached是使用libmemcached,只支持OO接口。
更详细的区别: http://code.google.com/p/memcached/wiki/PHPClientComparison