1. 程式人生 > >memcache

memcache

memcache

# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure -prefix=/usr
# make
# make install

#ldconfig命令 重新加載一下公共的文件

# tar -xvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcache
make & make install

編譯安裝php模塊的memcache模塊 下載地址 http://pecl.php.net/package/memcache

tar -xvf memcache-2.2.7.tar.gz


cd memcache-2.2.7

#/usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache

make & make install

# vim php.ini

#extension_dir = "/services/php/lib/php/extensions/no-debug-non-zts-20100525"

#extension=memcache.so

重啟php


啟動

#memcached -d -m 2048 -u root -l 127.0.0.1 -p 11211 或

/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.1 -p 11211 -c 256 -P /tmp/memcached.pid


# telnet 127.0.0.1 11211

通常:啟動Memcache的服務器端的命令為:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

關閉服務 kill `cat /tmp/memcached.pid`


-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這裏是10MB,
-u是運行Memcache的用戶,我這裏是root,
-l是監聽的服務器IP地址,如果有多個地址的話,我這裏指定了服務器的IP地址192.168.0.200,
-p是設置Memcache監聽的端口,我這裏設置了12000,最好是1024以上的端口,

-c選項是最大運行的並發連接數,默認是1024,我這裏設置了256,按照你服務器的負載量來設定,
-P是設置保存Memcache的pid文件,我這裏是保存在 /tmp/memcached.pid,

想開機自動啟動的話,只需在/etc/rc.d/rc.local中加入一行,上面命令
有人用以下命令:
/usr/local/memcached/bin/memcached -d -m 20 -p 11211 -u www
上面有些東西可以參考一下:即,ip不指定時,默認是本機,用戶,最好選擇是:www
這樣,也就是屬於哪個用戶的服務,由哪個用戶啟動。

測試:

<?php
$memcache = new Memcache; //創建一個memcache對象
$memcache->connect(‘localhost‘, 11211) or die ("Could not connect"); //連接Memcached服務器
$memcache->set(‘key‘, ‘test‘); //設置一個變量到內存中,名稱是key 值是test
$get_value = $memcache->get(‘key‘); //從內存中取出key的值
echo $get_value;
?>

memcache