php模塊memcache和memcached區(qū)別分析
更新時(shí)間:2011年06月14日 22:19:20 作者:
談及php搭配memcached使用,已經(jīng)是老生常談的問(wèn)題。但是有一些細(xì)節(jié),不見(jiàn)得人人清楚。比如說(shuō)php的模塊memcache和memcached有什么區(qū)別等。下面我就簡(jiǎn)單介紹一下。
1.目前大多數(shù)php環(huán)境里使用的都是不帶d的memcache版本,這個(gè)版本出的比較早,是一個(gè)原生版本,完全在php框架內(nèi)開(kāi)發(fā)的。與之對(duì)應(yīng)的帶d的memcached是建立在libmemcached的基礎(chǔ)上,所以相對(duì)來(lái)說(shuō),memcached版本的功能更全一些。
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.net/manual/en/book.memcached.php
2.Memcache是原生實(shí)現(xiàn)的,支持OO和非OO兩套接口并存。而memcached是使用libmemcached,只支持OO接口。
3.memcached還有個(gè)非常稱贊的地方,就是flag不是在操作的時(shí)候設(shè)置了,而是有了一個(gè)統(tǒng)一的setOption()。Memcached實(shí)現(xiàn)了更多的memcached協(xié)議。
4.memcached支持Binary Protocol,而memcache不支持。這意味著memcached會(huì)有更高的性能。不過(guò)memcached目前還不支持長(zhǎng)連接。
下面有一張表,來(lái)對(duì)比php客戶端擴(kuò)展memcache與memcached
http://code.google.com/p/memcached/wiki/PHPClientComparison
另外一點(diǎn)也是大家比較關(guān)心的,就是所使用的算法。大家都知道“一致性hash算法”是當(dāng)添加或刪除存儲(chǔ)節(jié)點(diǎn)時(shí),對(duì)存儲(chǔ)在memcached上的數(shù)據(jù)影響較小的一種算法。那么在php的兩個(gè)擴(kuò)展庫(kù)中,都可以使用該算法,只是設(shè)置方法有所不同。
Memcache
修改php.ini添加:
[Memcache]
Memcache.allow_failover = 1
……
……
Memcache.hash_strategy =consistent
Memcache.hash_function =crc32
……
……
或在php中使用ini_set方法:
Ini_set(‘memcache.hash_strategy','standard');
Ini_set(‘memcache.hash_function','crc32');
Memcached
$mem = new memcached();
$mem->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);
$mem->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,true);
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.net/manual/en/book.memcached.php
2.Memcache是原生實(shí)現(xiàn)的,支持OO和非OO兩套接口并存。而memcached是使用libmemcached,只支持OO接口。
3.memcached還有個(gè)非常稱贊的地方,就是flag不是在操作的時(shí)候設(shè)置了,而是有了一個(gè)統(tǒng)一的setOption()。Memcached實(shí)現(xiàn)了更多的memcached協(xié)議。
4.memcached支持Binary Protocol,而memcache不支持。這意味著memcached會(huì)有更高的性能。不過(guò)memcached目前還不支持長(zhǎng)連接。
下面有一張表,來(lái)對(duì)比php客戶端擴(kuò)展memcache與memcached
http://code.google.com/p/memcached/wiki/PHPClientComparison
另外一點(diǎn)也是大家比較關(guān)心的,就是所使用的算法。大家都知道“一致性hash算法”是當(dāng)添加或刪除存儲(chǔ)節(jié)點(diǎn)時(shí),對(duì)存儲(chǔ)在memcached上的數(shù)據(jù)影響較小的一種算法。那么在php的兩個(gè)擴(kuò)展庫(kù)中,都可以使用該算法,只是設(shè)置方法有所不同。
Memcache
修改php.ini添加:
[Memcache]
Memcache.allow_failover = 1
……
……
Memcache.hash_strategy =consistent
Memcache.hash_function =crc32
……
……
或在php中使用ini_set方法:
Ini_set(‘memcache.hash_strategy','standard');
Ini_set(‘memcache.hash_function','crc32');
Memcached
$mem = new memcached();
$mem->setOption(Memcached::OPT_DISTRIBUTION,Memcached::DISTRIBUTION_CONSISTENT);
$mem->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE,true);
您可能感興趣的文章:
- 在Windows平臺(tái)下安裝與配置Memcached的方法分享
- Windows下安裝Memcached的步驟說(shuō)明
- PHP Memcached應(yīng)用實(shí)現(xiàn)代碼
- Redis和Memcached的區(qū)別詳解
- php擴(kuò)展memcached和memcache的安裝配置方法
- centos系統(tǒng)為php安裝memcached擴(kuò)展步驟
- PHP 使用memcached簡(jiǎn)單示例分享
- ubuntu+php環(huán)境下的Memcached 安裝方法
- PHP MemCached高級(jí)緩存配置圖文教程
- memcached使用中避坑實(shí)例匯總
相關(guān)文章
PHP中使用Imagick讀取pdf并生成png縮略圖實(shí)例
這篇文章主要介紹了PHP中使用Imagick讀取pdf并生成png縮略圖實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-01-01
php實(shí)現(xiàn)網(wǎng)站文件批量壓縮下載功能
這篇文章主要介紹了php實(shí)現(xiàn)網(wǎng)站文件批量壓縮下載功能,文章提供了一個(gè)將文件壓縮為zip格式的示例,感興趣的小伙伴們可以參考一下2015-10-10
PHP中判斷foreach循環(huán)的第一個(gè)或者最后一個(gè)健名
我們知道在PHP中,根據(jù)鍵的數(shù)據(jù)類型,數(shù)組分為索引數(shù)組與關(guān)聯(lián)數(shù)組,索引數(shù)組判斷foreach循環(huán)的當(dāng)前健名很簡(jiǎn)單,使用關(guān)鍵字就可以獲取,關(guān)聯(lián)數(shù)組怎么判斷當(dāng)前健名呢,我們從for循環(huán)找到靈感,本文介紹PHP中判斷foreach循環(huán)的第一個(gè)或者最后一個(gè)健名已經(jīng)當(dāng)前健名的方法2024-01-01
php中DOMElement操作xml文檔實(shí)例演示
DOMElement操作xml想必大家有所耳聞,接下來(lái)為大家以實(shí)例介紹下,感興趣的朋友可以參考下哈,2013-03-03
PHP的Yii框架中過(guò)濾器相關(guān)的使用總結(jié)
這篇文章主要介紹了PHP的Yii框架中過(guò)濾器相關(guān)的使用總結(jié),文中列舉了一些常用的核心過(guò)濾器,需要的朋友可以參考下2016-03-03
PHP 數(shù)據(jù)庫(kù) 常見(jiàn)問(wèn)題小結(jié)
揭露 PHP 應(yīng)用程序中出現(xiàn)的五個(gè)常見(jiàn)數(shù)據(jù)庫(kù)問(wèn)題 —— 包括數(shù)據(jù)庫(kù)模式設(shè)計(jì)、數(shù)據(jù)庫(kù)訪問(wèn)和使用數(shù)據(jù)庫(kù)的業(yè)務(wù)邏輯代碼 —— 以及它們的解決方案。2009-06-06

