Memcache是什嗎?
Memcache是一個自由和開放原始碼、高效能、分配的記憶體對象緩衝系統。用於加速動態web應用程式,減輕資料庫負載。
它可以應對任意多個串連,使用非阻塞的網路IO。由於它的工作機制是在記憶體中開闢一塊空間,然後建立一個HashTable,Memcached自管理這 些HashTable。
Memcached又是什嗎?
Memcached是Memcache系統的主程式檔案,以精靈方式運行於一個或多個伺服器中,隨時接受客 戶端的串連操作,使用共用記憶體存取資料。
那PHP中的Memcache是什嗎?php中的所講的memcache是用於串連Memecached的php支援擴充之一(可用phpinfo查看),類似mbstring,eAccelerator。
簡單的說
Memcache是總的緩衝系統項目名稱,容易和PHP中的Memcache混淆。
我們常提到Memcache其實是PHP中的Memcache,即PHP的Memcached擴充支援。
我們常提到Memcached是服務端主程式檔案,服務端安裝程式。
為了讓你的程式飛起來,必須安裝memcached服務端程式和PHP的Memcached擴充,所以如果您要使用Memcache來緩衝系統,memcache和memcached兩樣我們都需要安裝。
安裝memcache
# cd /usr/local/src # wget http://pecl.php.net/get/memcache-2.2.5.tgz # gzip -d memcache-2.2.5.tgz # tar xvf memcache-2.2.5.tar # cd memcache-2.2.5 |
以下幾句,是以php所在目錄為/usr/local/php為例,如果您的php有變化,請自行替換幾句中/usr/local/php的部分
# /usr/local/php/bin/phpize # ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir # make && make install |
將memcache加入php擴充
# vi /etc/php.ini(/etc/php.ini地址為我的php.ini位置,如果你不知道你的php.ini在哪裡,可以用# find / -name php.ini進行尋找,或者傳個探針phpinfo,找到Configuration File (php.ini) Path)中php.ini的位置.
末尾加入
按鍵盤上的 i 開始編輯
CTRL+F翻頁拉到最下面在[Zend]之前加入
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/" extension=memcache.so |
按Esc鍵,再輸入
:wq
儲存退出
重啟你的web伺服器,比如apache
| /etc/init.d/httpd restart |
下面重新整理下PHP探針,看下是不是有這個了,有的話就是裝好了
memcache Version 2.2.5memcache Version 2.2.5 |
下面安裝memcached
裝memcached首先需要安裝安裝libevent
如果是centos可以yum安裝
| # yum install libevent-devel |
如果不支援yum的系統,可以這樣裝libevent
# cd /usr/local/src # wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz # tar vxf libevent-1.4.12-stable.tar.gz # cd libevent-1.4.12 # ./configure --prefix=/usr/local/libevent # make && make install |
接續安裝memcached
# cd /usr/local/src # wget http://cloud.github.com/downloads/saberma/saberma.github.com/memcached-1.4.4.tar.gz # tar vxf memcached-1.4.4.tar.gz # cd memcached-1.4.4 # ./configure --prefix=/usr/local/memcached # make && make install |
安裝完後啟動memcached並分配32m記憶體(32為使用記憶體數,可按自身情況修改)
| /usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root |
將memcached加入啟動項
按鍵盤上的 i 開始編輯
在最後加入
| /usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root |
按Esc鍵,再輸入
:wq
儲存退出
如果需要,可以reboot一下,不過不用reboot應該已經生效~
加速效果測試
用沒有什麼負載的Discuz X1做個測試,未啟用時
| GMT+8, 2010-9-12 09:08, Processed in 0.038893 second(s), 2 queries. |
緩衝啟用後的效果,不過總體感覺VPS上效果不如用eAccelerato緩衝加入效果那麼明顯
| GMT+8, 2010-9-12 09:08, Processed in 0.008383 second(s), 2 queries, Memcache On. |
大功告成,打完收工!~~