PHP   发布时间:2019-11-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php的memcached客户端memcached大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_651_0@memcache的官方主页:http://pecl.php.net/package/memcache@H_281_2@memcached的官方主页:http://pecl.php.net/package/memcached以下是我安装Memcached版本的php模块的过程记录:wget http://download.tangent.org/libmemcached-0.48.tar.gz
tar zxf libmemcached-0.48.tar.gz
cd libmemcached-0.48
./configure --prefix=/usr/local/libmemcached --with-memcached@H_281_2@make@H_281_2@make installwget http://pecl.php.net/get/memcached-1.0.2.tgz
tar zxf memcached-1.0.2.tgz
cd memcached-1.0.2
/usr/local/webserver/php/bin/phpize
./configure --enable-memcached --with-php-config=/usr/local/webserver/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached@H_281_2@make@H_281_2@make install在php.ini中加入
extension=memcached.so
完成另:
在安装libmemcached时,如果只用./configure,可能会提示:
checking for memcached… no
configure: error: “could not find memcached binary”两者使用起来几乎一模一样。
<div class="codetitle"><a style="cursOR: pointer" data="22025" class="copybut" id="copybut22025" onclick="doCopy('code22025')"> 代码如下:
<div class="codebody" id="code22025">
$mem = new Memcache;
$mem->addServer($memcachehost,'11211');
$mem->addServer($memcachehost,'11212');
$mem->set('hx','9enjoy');
echo $mem->get('hx');

<div class="codetitle"><a style="cursOR: pointer" data="13739" class="copybut" id="copybut13739" onclick="doCopy('code13739')"> 代码如下:
<div class="codebody" id="code13739">
$md = new Memcached;
$servers = array(
array($memcachehost,'11211'),
array($memcachehost,'11212')
);
$md->addServers($servers);
$md->set('hx','9enjoy');
echo $md->get('hx');
@H_281_2@memcached的方法比memcache多不少,比如getMulti,getByKey,addServers等。@H_281_2@memcached没有memcache的connect方法,目前也还不支持长连接。@H_281_2@memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。@H_281_2@memcache是原生实现的,支持OO和非OO两套接口并存,memcached是使用libmemcached,只支持OO接口。
更详细的区别:http://code.google.com/p/memcached/wiki/PHPClientComparison@H_281_2@memcached服务端是集中式的缓存系统,分布式实现方法是由客户端决定的。@H_281_2@memcached的分布算法一般有两种选择:
1、根据hash(key)的结果,模连接数的余数决定存储到哪个节点,也就是hash(key)% sessions.size(),这个算法简单快速,表现良好。然而这个算法有个缺点,就是在memcached节点增加或者删除的时候,原有的缓存数据将大规模失效,命中率大受影响,如果节点数多,缓存数据多,重建缓存的代价太高,因此有了第二个算法。
2、Consistent Hashing,一致性哈希算法,他的查找节点过程如下:
首先求出memcached服务器(节点)的哈希值,并将其配置到0~232的圆(conTinuum)上。然后用同样的方法求出存储数据的键的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上。如果超过2的32次方后仍然找不到服务器,就会保存到第一台memcached服务器上。memcache在没有任何配置的情况下,是使用第一种方法。memcached要实现第一种方法,似乎是使用(未确认):
$md->setOption(Memcached::OPT_HASH,Memcached::HASH_CRC); 第二种一致性哈希算法:memcache在php.ini中加
<div class="codetitle"><a style="cursOR: pointer" data="91713" class="copybut" id="copybut91713" onclick="doCopy('code91713')"> 代码如下:
<div class="codebody" id="code91713"> @H_281_2@memcache.hash_strategy =consistent @H_281_2@memcache.hash_function =crc32
@H_281_2@memcached在程序中加(未确认)
<div class="codetitle"><a style="cursOR: pointer" data="31234" class="copybut" id="copybut31234" onclick="doCopy('code31234')"> 代码如下:<div class="codebody" id="code31234">
$md->setOption(Memcached::OPT_DIStriBUTION,Memcached::DIStriBUTION_CONSISTENT);
$md->setOption(Memcached::OPT_HASH,Memcached::HASH_CRC);

$mem->setOption(Memcached::OPT_DIStriBUTION,Memcached::DIStriBUTION_CONSISTENT);
$mem->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,truE);

一些参文档: @H_281_2@memcached分布测试报告(一致性哈希情况下的散列函数选择):
http://www.iteye.com/topic/346682
php模块memcache和memcached区别: //cn.js-code.com/article/27366.htm
php模块:Memcached > Memcache://cn.js-code.com/article/27367.htm20110509@@updatE:
如果安装libmemcached有如下出错提示: @H_281_2@make[2]: [clients/ms_conn.o] Error 1 @H_281_2@make[2]: Leaving directory `/www/soft/libmemcached-0.48' @H_281_2@make[1]: [all-recursive] Error 1 @H_281_2@make[1]: Leaving directory `/www/soft/libmemcached-0.48' @H_281_2@make: *** [all] Error 2 可在configure时增加--disable-64bit CFLAGS="-O3 -march=i686"
即:./configure --prefix=/usr/local/libmemcached --with-memcached --disable-64bit CFLAGS="-O3 -march=i686"

大佬总结

以上是大佬教程为你收集整理的php的memcached客户端memcached全部内容,希望文章能够帮你解决php的memcached客户端memcached所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:memcached
猜你在找的PHP相关文章