天天看點

Memcache學習系列(三):memcache和memcached安裝過程

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加入啟動項

# vi /etc/rc.d/rc.local

按鍵盤上的 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.

大功告成,打完收工!~~