一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - php的memcached客戶端memcached

php的memcached客戶端memcached

2019-11-29 14:49PHP教程網(wǎng) PHP教程

之前在安裝memcache時(shí)有提到memcached客戶端是叫memcache,其實(shí)還有一個(gè)基于libmemcached的客戶端叫memcached,據(jù)說(shuō)性能更好,功能也更多。

memcache的官方主頁(yè):http://pecl.php.net/package/memcache
memcached的官方主頁(yè):http://pecl.php.net/package/memcached

以下是我安裝Memcached版本的PHP模塊的過(guò)程記錄:

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
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/webserver/php/bin/phpize 
./configure --enable-memcached --with-php-config=/usr/local/webserver/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
make
make install

在php.ini中加入
extension=memcached.so
完成

另:
在安裝libmemcached時(shí),如果只用./configure,可能會(huì)提示:
checking for memcached… no
configure: error: “could not find memcached binary”

兩者使用起來(lái)幾乎一模一樣。

復(fù)制代碼代碼如下:


$mem = new Memcache; 
$mem->addServer($memcachehost, '11211'); 
$mem->addServer($memcachehost, '11212'); 
$mem->set('hx','9enjoy'); 
echo $mem->get('hx'); 

 

復(fù)制代碼代碼如下:


$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沒(méi)有memcache的connect方法,目前也還不支持長(zhǎng)連接。
memcached 支持 Binary Protocol,而 memcache 不支持,意味著 memcached 會(huì)有更高的性能。
Memcache是原生實(shí)現(xiàn)的,支持OO和非OO兩套接口并存,memcached是使用libmemcached,只支持OO接口。
更詳細(xì)的區(qū)別:http://code.google.com/p/memcached/wiki/PHPClientComparison


memcached服務(wù)端是集中式的緩存系統(tǒng),分布式實(shí)現(xiàn)方法是由客戶端決定的。
memcached的分布算法一般有兩種選擇:
1、根據(jù)hash(key)的結(jié)果,模連接數(shù)的余數(shù)決定存儲(chǔ)到哪個(gè)節(jié)點(diǎn),也就是hash(key)% sessions.size(),這個(gè)算法簡(jiǎn)單快速,表現(xiàn)良好。然而這個(gè)算法有個(gè)缺點(diǎn),就是在memcached節(jié)點(diǎn)增加或者刪除的時(shí)候,原有的緩存數(shù)據(jù)將大規(guī)模失效,命中率大受影響,如果節(jié)點(diǎn)數(shù)多,緩存數(shù)據(jù)多,重建緩存的代價(jià)太高,因此有了第二個(gè)算法。
2、Consistent Hashing,一致性哈希算法,他的查找節(jié)點(diǎn)過(guò)程如下:
    首先求出memcached服務(wù)器(節(jié)點(diǎn))的哈希值,并將其配置到0~232的圓(continuum)上。然后用同樣的方法求出存儲(chǔ)數(shù)據(jù)的鍵的哈希值,并映射到圓上。然后從數(shù)據(jù)映射到的位置開(kāi)始順時(shí)針查找,將數(shù)據(jù)保存到找到的第一個(gè)服務(wù)器上。如果超過(guò)2的32次方后仍然找不到服務(wù)器,就會(huì)保存到第一臺(tái)memcached服務(wù)器上。

memcache在沒(méi)有任何配置的情況下,是使用第一種方法。memcached要實(shí)現(xiàn)第一種方法,似乎是使用(未確認(rèn)):
$md->setOption(Memcached::OPT_HASH, Memcached::HASH_CRC);   

第二種一致性哈希算法:

memcache在php.ini中加

復(fù)制代碼代碼如下:


Memcache.hash_strategy =consistent 
Memcache.hash_function =crc32 


memcached在程序中加(未確認(rèn)) 

復(fù)制代碼代碼如下:


$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); 


一些參考文檔: 
memcached分布測(cè)試報(bào)告(一致性哈希情況下的散列函數(shù)選擇):
http://www.iteye.com/topic/346682 
php模塊memcache和memcached區(qū)別: http://www.ythuaji.com.cn/article/34882.html
PHP模塊:Memcached > Memcache:http://www.ythuaji.com.cn/article/34883.html

20110509@@UPDATE: 
如果安裝libmemcached有如下出錯(cuò)提示: 
make[2]: *** [clients/ms_conn.o] Error 1 
make[2]: Leaving directory `/www/soft/libmemcached-0.48' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/www/soft/libmemcached-0.48' 
make: *** [all] Error 2 

可在configure時(shí)增加--disable-64bit CFLAGS="-O3 -march=i686" 
即:./configure --prefix=/usr/local/libmemcached --with-memcached --disable-64bit CFLAGS="-O3 -march=i686"

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美另类在线观看 | 四虎现在的网址入口2022 | 日韩成人免费aa在线看 | 调教车文 | 欧美一级特黄aaa大片 | 青青青青青国产费线在线观看 | 高肉h护士办公室play | 奇米影视888四色首页 | 男人含玉势出嫁束器 | 色综合色狠狠天天综合色hd | 激情小视频网站 | 亚州综合网 | japanese秘书丝袜 | japanese乱子mate | 91精品免费观看老司机 | 国产成人综合久久 | 国产高清精品自在久久 | 好逼365 | 国产91网站在线观看 | 久久精品久久久久 | 日本大尺度激情做爰叫床 | 欧美精品国产一区二区 | 日本人妖视频 | 亚洲精品中文字幕久久久久久 | 色批网站www | eee在线播放成人免费 | 国产精品亚洲精品日韩已满 | 婷婷色天使在线视频观看 | 国产小情侣自拍 | 青草国内精品视频在线观看 | 麻豆网站在线免费观看 | 国产三级精品91三级在专区 | 国产实拍会所女技师在线 | 果冻传媒天美传媒在线小视频播放 | 免费一区二区视频 | 男人的私人影院 | 国产a不卡片精品免费观看 国产aaa伦理片 | 久久国产主播福利在线 | 小鸟酱视频在线观看 | kkkk4444在线看片 | 无码AV熟妇素人内射V在线 |