Memcache是什么?
Memcache是一個自由和開放源代碼、高性能、分配的內存對象緩存系統(tǒng)。用于加速動態(tài)web應用程序,減輕數據庫負載。
它可以應對任意多個連接,使用非阻塞的網絡IO。由于它的工作機制是在內存中開辟一塊空間,然后建立一個HashTable,Memcached自管理這 些HashTable。
Memcached是簡單而強大的。它簡單的設計促進迅速部署,易于發(fā)展所面臨的問題,解決了很多大型數據緩存。它的API可供最流行的語言。
Memcache的知名用戶有:LiveJournal、Wikipedia、Flickr、Bebo、Twitter、Typepad、 Yellowbot、Youtube 等。
Memcache官方網站:http://memcached.org/
Memcached又是什么?
Memcache是該系統(tǒng)的項目名稱,Memcached是該系統(tǒng)的主程序文件,以守護程序方式運行于一個或多個服務器中,隨時接受客 戶端的連接操作,使用共享內存存取數據。
那PHP中的Memcache是什么?
php中的所講的memcache是用于連接Memecached的客戶端組件。
Memcache如何安裝?
Memcached 服務端安裝:(源碼包官方網站下載)
系統(tǒng)命令
tar xvf memcached-1.2.6.tar.gz
cd memcached-1.2.6
./configure --prefix=/usr/local/memcached
make
make install
然后就可以啟動memcached的守護進程了:
系統(tǒng)命令
/usr/local/memcached/bin/memcached -p 11211 -l 127.0.0.1 -d -u nobody -P /var/run/memcached.pid -m 64M -c 1024
幾個參數的解釋:
-p memcached監(jiān)聽的TCP端口
-l 監(jiān)聽的ip地址,127.0.0.1是本機,當然也可以寫上你的服務器IP,如:61.150.91.26,這是我服務器的IP地址,如果你需要多個服務 器都能夠讀取這臺memcached的緩存數據,那么就必須設定這個ip
-d 以daemon方式運行,將程序放入后臺
-u memcached的運行用戶,我設定的是nobody
-P memcached的pid文件路徑
-m memcached可以使用的最大內存數量
-c memcached同時可以接受的最大的連接數
如果你希望以socket方式來訪問memcached,那么在啟動的時候就必須去掉 -l和-p參數,并加上-s參數:
-s memcached的socket文件路徑
php中memcache擴展組件的安裝:
系統(tǒng)命令
tar xvf memcache-3.0.3.tgz
cd memcache-3.0.3
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config --enable-memcache
make
make install
按照我的環(huán)境,編譯出來的memcache.so保存在 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ 目錄下,如果你的環(huán)境不一樣,你得根據自己情況修改你的php.ini了。
接著要做的工作就是讓php加載這個擴展,編輯你的php.ini,在適當位置(通常是最后,也可以是獨立的一個ini文件)加入如下行:
extension=memcache.so
然后重啟你的phpfastcgi進程或者apache,運行一個phpinfo()來確認一下,正常的話你應該可以看到這個了:memcache
php-memcache的簡單使用舉例:
PHP代碼
$memcache = new Memcache;
$memcache->connect('127.0.0.1','11211');
$memcache->setCompressThreshold(20000, 0.2);??? // 設置壓縮
echo $memcache->getVersion(); // 輸出memcached版本
$test = array(1,2,3,4,5,'abcde');?? //生成一個數組
if($memcache->get('test')){
print_r($memcache->get('test'));? //獲取數據
echo "\n";
echo 'cached';
echo "\n";
}else{
$memcache->set('test',$test,0,30);????? //寫入數據
echo 'no cache';
echo "\n";
}
?>
關鍵詞標簽:memcache,memcached
相關閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內存型號 linux tc實現ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關機、重啟、注銷 命令 查看linux服務器硬盤IO讀寫負載