memcache 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 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.🎜>開啟php.ini加上:
extension = "memcached.>這樣安裝就結束了,你可以透過下列指令來確認:
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
以上就介紹了memcache PHP模組 Memcached功能多於Memcache,包括了memcache方面的內容,希望對PHP教程有興趣的朋友有所幫助。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

在Web開發中,我們經常需要使用快取技術來提高網站的效能和回應速度。 Memcache是一種流行的快取技術,它可以快取任何資料類型、支援高並發和高可用性。本文將介紹如何使用PHP開發中的Memcache,並提供具體程式碼範例。一、安裝Memcache要使用Memcache,我們首先需要在伺服器上安裝Memcache擴充。在CentOS作業系統中,可以使用以下命令

在PHP開發中,使用Memcache快取系統可以大幅提高資料讀寫的效率。 Memcache是一種基於記憶體的快取系統,它可以將資料緩存在記憶體中,避免頻繁的讀寫資料庫。本文將介紹如何在PHP中使用Memcache進行高效率的資料讀寫操作,並提供具體的程式碼範例。一、安裝和設定Memcache首先,需要在伺服器上安裝Memcache擴充。可以透過

PHP開發中如何使用Memcache進行高效率的資料寫入與查詢?隨著網路應用的不斷發展,對於系統效能的要求越來越高。在PHP開發中,為了提高系統的效能和反應速度,我們經常使用各種快取技術。而其中一個常用的快取技術就是Memcache。 Memcache是一種高效能的分散式記憶體物件快取系統,可以用來快取資料庫查詢結果、頁面片段、會話資料等。透過將資料儲存在內存

Memcache快取技術在PHP中優化資料互動的實踐和思考在現代的Web應用中,資料互動是一個非常重要的問題,它沒有足夠的高效性,將會限制Web應用程式的擴展性和效能。為了加快資料互動速度,我們通常的做法是優化資料庫的設計、提高硬體的效能和增加伺服器容量。但是,這些方法都有一個共同的限制:它們會增加系統的成本。最近幾年,Memcache技術在解決這個問題上提

隨著網路的快速發展,越來越多的應用程式需要面對大量的並發請求,如何提高應用程式的並發處理能力成為開發者需要解決的問題。其中,利用Memcache快取技術進行並發優化成為了相對較受歡迎的方案。 Memcache是一種高效能的快取技術,適用於大型Web應用程式、資料庫和分散式系統。其特點是將資料儲存於記憶體中,以實現高速讀寫操作。在網路應用程式的資料存取過程中,

Memcache是一種開源的、分散式的快取技術。它透過將資料儲存在記憶體中,大大提高了資料的存取速度,從而提升了網站的效能和反應速度。在PHP專案中,Memcache快取技術也被廣泛應用,並且取得了很好的效果。本篇文章將深入探討Memcache快取技術在PHP專案的應用與實務。一、Memcache的原理和優勢Memcache是一種記憶體快取技術,它可以將數據

隨著Web應用程式的日益複雜,效能也成為了一個關鍵問題。在許多應用程式中,資料庫查詢是最耗費時間的操作之一。為了避免頻繁地從資料庫中讀取數據,可以使用快取系統,將經常讀取的數據儲存在記憶體中,以便快速的存取。在PHP開發中,使用Memcached進行分散式快取是一個極為常見的做法,在本文中我們將介紹如何使用Memcached進行分散式快取。什麼是Memca

如何使用Memcache優化你的PHP應用中的資料儲存操作?在網路應用開發中,資料儲存是一個至關重要的環節。而在PHP應用中,Memcache作為一種記憶體快取系統,可以有效提升資料儲存和讀取操作的效率。本文將介紹如何使用Memcache優化PHP應用中的資料儲存操作,並附上具體的程式碼範例。第一步:安裝Memcache擴充首先,你需要在PHP環境中安裝Me
