php模塊memcache和memcached區(qū)別分析
更新時(shí)間:2011年06月14日 22:19:20 作者:
談及php搭配memcached使用,已經(jīng)是老生常談的問題。但是有一些細(xì)節(jié),不見得人人清楚。比如說php的模塊memcache和memcached有什么區(qū)別等。下面我就簡(jiǎn)單介紹一下。
1.目前大多數(shù)php環(huán)境里使用的都是不帶d的memcache版本,這個(gè)版本出的比較早,是一個(gè)原生版本,完全在php框架內(nèi)開發(fā)的。與之對(duì)應(yīng)的帶d的memcached是建立在libmemcached的基礎(chǔ)上,所以相對(duì)來說,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ì)有更高的性能。不過memcached目前還不支持長(zhǎng)連接。
下面有一張表,來對(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ì)有更高的性能。不過memcached目前還不支持長(zhǎng)連接。
下面有一張表,來對(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的步驟說明
- 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)文章
PHPExcel實(shí)現(xiàn)表格導(dǎo)出功能示例【帶有多個(gè)工作sheet】
這篇文章主要介紹了PHPExcel實(shí)現(xiàn)表格導(dǎo)出功能,結(jié)合實(shí)例形式分析了PHPExcel針對(duì)帶有多個(gè)工作sheet的表格導(dǎo)出相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06針對(duì)PHP開發(fā)安全問題的相關(guān)總結(jié)
今天小編就為大家分享一篇關(guān)于針對(duì)PHP開發(fā)安全問題的相關(guān)總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之類常量用法實(shí)例
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之類常量用法,是PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中非常重要的一個(gè)概念,對(duì)于PHP初學(xué)者來說更是有必要加以牢固掌握,需要的朋友可以參考下2014-08-08php中json_decode()和json_encode()的使用方法
json_decode對(duì)JSON格式的字符串進(jìn)行編碼而json_encode對(duì)變量進(jìn)行 JSON 編碼,需要的朋友可以參考下2012-06-06