Memcache是什嗎?
Memcache是一個自由和開放原始碼、高效能、分配的記憶體對象緩衝系統。用於加速動態web應用程式,減輕資料庫負載。 它可以應對任意多個串連,使用非阻塞的網路IO。由於它的工作機制是在記憶體中開闢一塊空間,然後建立一個HashTable,Memcached自管理這些HashTable。
Memcached是什嗎?Memcached是Memcache系統的主程式檔案,以精靈方式運行於一個或多個伺服器中,隨時接受客 戶端的串連操作,使用共用記憶體存取資料。
PHP中的Memcache是什嗎?php中的所講的memcache是PHP的一個擴充,是一個用戶端,用於串連memcached。下載檔案wget
http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
wget http://pecl.php.net/get/memcache-2.2.5.tgz
1、安裝libevent 在安裝memcached之前需要安裝libevent庫,因為memcached用到了libevent用於socket的處理。tar zxvf libevent-2.0.10-stable.tar.gz
cd libevent-2.0.10-stable
./configure
make
make install
2、安裝memcached tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --with-libevent=/usr/local
make
make install
cd ..
memcached -d -m 10 -u root -l 202.207.177.177 -p 11211 -c 256 -P /tmp/memcached.pid參數說明:-d選項是啟動一個守護進程,
-m是分配給Memcache使用的記憶體數量,單位是MB,我這裡是10MB,
-u是運行Memcache的使用者,我這裡是root,
-l是監聽的伺服器IP地址,如果有多個地址的話,我這裡指定了伺服器的IP地址202.207.177.177,
-p是設定Memcache監聽的連接埠,我這裡設定了11211,最好是1024以上的連接埠,
-c選項是最大啟動並執行並發串連數,預設是1024,我這裡設定了256,按照你伺服器的負載量來設定,
-P是設定儲存Memcache的pid檔案,我這裡是儲存在 /tmp/memcached.pid,2.如果要結束Memcache進程,執行:kill `cat /tmp/memcached.pid`也可以啟動多個守護進程,不過連接埠不能重複。3.檢查Memcached是否啟動netstat -ant
tcp 0 0 202.207.177.177:11211 0.0.0.0:* LIST11211連接埠已經開啟,說明Memcached已正常啟動。 3、安裝memcachetar zxvf memcache-2.2.6.tgz
cd memcache-2.2.6
/data/php/bin/phpize
./configure --enable-memcache --with-php-config=/data/php/bin/php-config --with-zlib-dir
make
make install模組預設產生路徑為/data/php/lib/php/extensions/no-debug-non-zts-20090626/ 修改PHP設定檔php.ini,添加如下內容vim /data/php/etc/php.ini extension_dir = "/data/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension= memcache.so 4、測試運行下面的php檔案,如果有輸出This is a test!,
<?php
$mem = new Memcache;
$mem->connect("192.168.25.237", 11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
[root@localhost ~]# /data/php/bin/php /data/nginx/html/test.php
This is a test!