首頁 後端開發 php教程 Memcached php的memcached客戶端memcached

Memcached php的memcached客戶端memcached

Jul 29, 2016 am 08:45 AM
memcached

memcache的官方主頁:http://pecl.php.net/package/memcache
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
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 -c/local/webserver/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
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->SaddServer($meache,hosts,host '11211');
$mem->addServer($memcachehost, '11212');
$mem->set('hx','9enjoy');
echo $mem->get( 'hx');


複製程式碼 程式碼如下:


$md 🎜>$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
memcached服務端是集中式的快取系統,分散式實作方法是由客戶端決定的。
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加

複製程式碼 程式碼如下:

Memcache.hash_strategy =consistent> hash_function =crc32


memcached在程式中加(未確認)



複製程式碼 程式碼$md->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT); $md->setOption(Memcached::OPT_HASH, Memcached::HASH_CRC_CRC);

$m- >setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);

$mem->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,true);


一些參考文件:
memcached分佈測試報告(一致性雜湊情況下的雜湊函數選擇):
http://www.iteye.com/topic/346682
php模組memcache和memcached區別:http://www.jb51.net/article/27366.htm
PHP模組:Memcached > Memcache:http://www.jb51.net/article/27367.htm
20110509@@ UPDATE:
如果安裝libmemcached有以下出錯提示:
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時增加--disable-64bit CFLAGS="-O3 -march=i686"
即:./configure --prefix=/usr/local/libmemcached --with-memcached --disable-64bit CFLAGS="-O3 -march=i686"

以上就介紹了Memcached php的memcached客戶端memcached,包含了Memcached方面的內容,希望對PHP教程有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Memcached快取技術對於PHP中的Session處理的最佳化 Memcached快取技術對於PHP中的Session處理的最佳化 May 16, 2023 am 08:41 AM

Memcached是一種常用的快取技術,它可以讓Web應用程式的效能得到很大的提升。在PHP中,常用的Session處理方式是將Session檔案存放在伺服器的硬碟上。但是,這種方式並不是最優的,因為伺服器的硬碟會成為效能瓶頸之一。而使用Memcached快取技術可以對PHP中的Session處理進行最佳化,提升Web應用程式的效能。 PHP中的Session處

PHP8.0中的快取庫:Memcached PHP8.0中的快取庫:Memcached May 14, 2023 am 08:16 AM

PHP8.0中的快取庫:Memcached隨著網路的快速發展,現代應用程式需要高效可靠的快取技術來提高效能和處理大量資料。由於PHP的流行和開源特性,PHP快取庫已經成為了Web開發社群的必備工具。 Memcached是一種廣泛使用的開源高速記憶體快取系統,它能處理數百萬個同時連接的快取請求,可以用於許多不同類型的應用程序,例如社交網路、在線

如何使用Memcached快取技術優化PHP應用程式CPU的使用率? 如何使用Memcached快取技術優化PHP應用程式CPU的使用率? Jun 21, 2023 pm 05:07 PM

隨著互聯網的發展,PHP應用程式在網路應用領域中變得越來越常見。但是,PHP應用程式的高並發存取會導致伺服器的CPU使用率高,進而影響應用程式的效能。為了優化PHP應用程式的效能,Memcached快取技術成為了一個很好的選擇。本文將介紹如何使用Memcached快取技術最佳化PHP應用程式CPU的使用率。 Memcached快取技術簡介Memcached是一

PHP與Memcached資料庫備份與恢復 PHP與Memcached資料庫備份與恢復 May 15, 2023 pm 09:12 PM

隨著網路的快速發展,大規模MySQL資料庫備份和復原成為各大企業和網站必備的技能之一。而隨著Memcached的廣泛應用,如何備份和還原Memcached也成為了一個重要的問題。 PHP作為Web開發的主力語言之一,在處理備份和復原MySQL和Memcached上擁有獨特的優勢和技巧。本文將詳細介紹PHP處理MySQL與Memcached備份與復原的實作方法

使用PHP和Memcached進行快取管理 使用PHP和Memcached進行快取管理 May 23, 2023 pm 02:21 PM

隨著網路應用的不斷增加和資料量的不斷膨脹,資料的讀寫效率成為影響應用效能的重要因素之一。而快取技術的應用則可以很好地解決這個問題。在PHP應用程式中,Memcached是最常用的快取伺服器。 Memcached是一個高效能的分散式記憶體物件快取系統,可以將常用的資料儲存在記憶體中,提高資料檢索的效率。本文將介紹如何使用PHP和Memcached進行快取管理,以及如何優

PHP與Memcached效能監控 PHP與Memcached效能監控 May 15, 2023 pm 09:51 PM

隨著現代網路應用的快速發展,使用者體驗對於一個應用程式的成功至關重要。如何確保應用程式的高效能和高可用性,成為了開發人員需要解決的重要問題之一。 PHP作為一種廣泛應用的程式語言之一,它的效能監控和最佳化也是非常重要的。 Memcached是一個高效能、分散式的記憶體物件快取系統,可以幫助應用程式提高效能和擴充性。本文將介紹如何使用PHP和Memcached實現效能監控的方法。

利用Memcached快取技術對於PHP中的影音播放進行最佳化 利用Memcached快取技術對於PHP中的影音播放進行最佳化 May 17, 2023 pm 04:01 PM

隨著網路技術的不斷發展,影音資源已成為了網路上非常重要的內容形式,而PHP作為網路開發中使用最廣泛的語言之一,也不斷地應用於視訊和音訊播放領域。然而,隨著影音網站的用戶日益增加,許多網站已經發現了一個問題:在高並發的情況下,PHP對於影音的處理速度明顯變緩,會導致無法及時播放或播放卡頓等問題。為了解決這個問題,Memcached快取技術應

如何在CakePHP中使用Memcached? 如何在CakePHP中使用Memcached? Jun 04, 2023 am 08:14 AM

隨著現代應用程式的快速成長,快取已成為許多開發人員的至關重要的部分。快取可以大大提高應用程式的效能並減少伺服器負載。在CakePHP中,實作快取的一種方法是使用Memcached。 Memcached是一個基於記憶體的分散式快取系統。它將資料儲存在記憶體中,可以快速地讀取和寫入資料。在多伺服器環境中,Memcached可以分散式儲存資料並透過網路進行共用。不僅可以

See all articles