天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP模塊 Memcached功能多于Memcache

比如說PECL里有兩個Memcached的模塊,Memcache和Memcached,目前大部分php環境里使用的是名字里不帶d的Memcache版本,這個版本釋出的比較早,是一個原生版本,與之對應的帶d的Memcached版本則是建立在libmemcached的基礎上,所以說Memcached版本的功能更全一些。

安裝Memcached版本的php模塊

wget http://download.tangent.org/libmemcached-0.35.tar.gz
tar zxf libmemcached-0.35.tar.gz
cd libmemcached-0.35
./configure
make
make install

wget http://pecl.php.NET/get/memcached-1.0.0.tgz
tar zxf memcached-1.0.0.tgz
cd memcached-1.0.0
phpize
./configure
make
make install

打開php.ini加上:

extension = "memcached.so"

這樣安裝就結束了,你可以通過下列命令來確認:

php -m | grep mem

演示Memcached版本的新功能

先虛構一個問題,假設counter初始值是一個整數,不使用increment方法,通過get/set完成每次加一。

在Memcache版本里,我們只能按照大致如下的方式來進行:

$m = new Memcache();
$m->addServer('localhost', 11211);
$v = $m->get('counter');
$m->set('counter', $v + 1);

由于get/set這兩個動作無法作為一個原子來操作,所以當多個進程同時處理時,會出現丟失的可能,更讓人惱火的是,你根本就不知道什么時候出現丟失。

再看看Memcached版本里,我們是如何做的:

$md = new Memcached();
$md->addServer('localhost', 11211);
$v = $md->get('counter', null, $token)
$md->cas($token, 'counter', $v + 1);

cas是Memcached版本里提供的功能,說白了就是一個樂觀鎖的功能,如果你把$token的值var_dump出來,就會發現$token其實就是一個版本號,如果通過get得到的$token版本號在cas的時候不對應,就說明已經有別的操作更新了,此時cas操作會失敗,至于如何繼續操作,就看你自己了。

注:如果你想手動重現一下沖突的情況,可在get和cas之間sleep若干秒,并拷貝兩份腳本,先后執行。

順便說一句,推薦的Memcached版本模塊的哈希設置如下:

$md->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
$md->setOption(Memcached::OPT_HASH, Memcached::HASH_CRC);

總結

Memcached版本還有很多Memcache沒有的功能,比如通過getByKey, setByKey等自動支持多個服務器,就不贅述了,該用哪個擴展已經不言自明了。

補充:http://code.google.com/p/memcached/wiki/phpClientComparison

php技術PHP模塊 Memcached功能多于Memcache,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 天天狠狠色综合图片区 | 经典WC女厕所里TV | 久久综合色视频 | 日本午夜福利无码高清 | 国产电影三级午夜a影院 | 亚洲AV國產国产久青草 | 第一会所欧美无码原创 | 免费在线观看黄色网址 | 亚洲精品不卡在线 | 国产精品久久久久久熟妇吹潮软件 | 小黄鸭YELLOWDUCK7596 | 国语自产偷成人精品视频 | 亚洲欧美中文在线一区 | 亚洲欧美一区二区三区四区 | 国产成人无码视频一区二区三区 | 亚洲AV无码一区二区色情蜜芽 | 后入到高潮免费观看 | 最新果冻传媒在线观看免费版 | 亚洲欧美一区二区三区四区 | 国产在线一区二区三区四区 | 蜜臀AV999无码精品国产 | 蜜桃日本免费观看MV | 污污内射在线观看一区二区少妇 | 久久电影院久久国产 | 国产精品一区二区在线观看 | 中文视频在线 | 男人网站在线观看 | 亚洲国产女人aaa毛片在线 | 最近日本字幕MV免费观看在线 | 在线高清无码欧美久章草 | 久久国产一区二区三区 | 国产成人免费不卡在线观看 | 国产欧美国产综合第一区 | 97精品国产自产在线观看永久 | 国产精品久久人妻拍拍水牛影视 | 亚洲AV怡红院影院怡春院 | 轻轻挺进女教师的身体 | 国产最新精品亚洲2021不卡 | 国产精品无码久久久久不卡 | 3d在线看小舞被躁视频 | 欧美怡红院视频一区二区三区 |