memcache是個很方便的東東,可以支持數據的頻繁讀寫,效率比數據庫要快,memcache的官方地址是http://memcached.org/
一、安裝libevent支持
cd /usr/local/src/我習慣將代碼文件放這里,整潔些
wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
tar xzvf libevent-1.2.tar.gz
cd libevent-1.2
./configure –prefix=/usr
make&&make install
二、安裝memcached
wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
tar xzvf memcached-1.4.4.tar.gz
cd memcached-1.4.4
./configure –with-libevent=/usr
make
make install
三、安裝memcache的php支持
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar xzvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure
make
make install
#此時會提示你so文件安裝在/usr/local/lib/php/extensions/no-debug-non-zts-20090626/下
cp /usr/local/lib/php/extensions/no-debug-non-zts-20090626/memcache.so /usr/lib/php/modules/
注意,/usr/lib/php/modules/是值php.ini中默認的extension_dir所指,因機器而異
vi /etc/php.ini
打開php配置文件,將下面的文本加到末尾
extension=memcache.so
[Memcache]
memcache.allow_failover = On
memcache.max_failover_attempts = 20
memcache.chunk_size = 8192
memcache.default_port = 11211
;memcache.hash_strategy = “standard”
;memcache.hash_function = “crc32″
此時重啟apache看phpinfo就可看到memcache具體條目
四、啟動memcached服務
/usr/local/bin/memcached -d -m 10 -u nobody -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid
最好將這句話加到 /etc/rc.local 中
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,
-u是運行Memcache的用戶,為了安全,nobody即可
-l是監聽的服務器IP地址,如果有多個地址的話,我這里指定了服務器的回環地址,
-p是設置Memcache監聽的端口,我這里設置了12000,最好是1024以上的端口,
-c選項是最大運行的并發連接數,默認是1024,我這里設置了256,按照你服務器的負載量來設定,
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,
五、測試文件
$mem = new Memcache;
$mem->connect(“127.0.0.1″, 12000);
$mem->set(‘key’, ‘Welcom to shallwe.net !’, 0, 60);
$val = $mem->get(‘key’);
echo $val;
?>