Memcached 搭建過程
安裝 memcached 服務端
#需要 libevent 支持
cd /opt
rm -rf memcached-1.2.0.tar.gz
wget http://192.168.0.97/download/linux/cache/memcached-1.2.0.tar.gz
rm -rf memcached-1.2.0
tar -zxf memcached-1.2.0.tar.gz
cd /opt/memcached-1.2.0
./configure –with-libevent=
make
make install
2、安裝 memcache 客戶端
rm -rf memcache-2.2.5.tgz
wget http://192.168.0.97/download/linux/cache/memcache-2.2.5.tgz
rm -rf memcache-2.2.5
tar -zxf memcache-2.2.5.tgz
cd /opt/memcache-2.2.5
/usr/local/php/bin/phpize
./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir
make
make install
# 修改php.ini
- – - – -
vi /etc/php.ini
/extension_dir =
iextension=memcache.so
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”
#
- – - – - -
# 重啟 apache php生效
/usr/local/apache2/bin/apachectl restart
3、一般的維護 開啟 關閉 查看狀態
/usr/local/bin/memcached -d -m 128 -u root -l 192.168.0.97 -c 256 -P /tmp/memcached.pid
關閉memcache 服務端
kill `cat /tmp/memcached.pid`
寫成腳本
vi /etc/init.d/memcache_start.sh
i/usr/local/bin/memcached -d -m 128 -u root -l 192.168.0.97 -c 256 -P /tmp/memcached.pid
chmod a+x /etc/init.d/memcache_start.sh
vi /etc/init.d/memcache_stop.sh
ikill `cat /tmp/memcached.pid`
chmod a+x /etc/init.d/memcache_start.sh
查看memcache狀態
telnet 192.168.0.98 11211
輸入stats查詢狀態
stats
STAT pid 8601
STAT uptime 696
STAT time 1245832689
STAT version 1.2.0
STAT pointer_size 64
STAT rusage_user 0.007998
STAT rusage_system 0.030995
STAT curr_items 1
STAT total_items 1
STAT bytes 76
STAT curr_connections 2
STAT total_connections 4
STAT connection_structures 3
STAT cmd_get 1
STAT cmd_set 1
STAT get_hits 1
STAT get_misses 0
STAT bytes_read 97
STAT bytes_written 620
STAT limit_maxbytes 134217728
END
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,
-u是運行Memcache的用戶,我這里是root,
-l是監聽的服務器IP地址,如果有多個地址的話,我這里指定了服務器的IP地址192.168.22.200,
-p是設置Memcache監聽的端口,我這里設置了12000,最好是1024以上的端口,
-c選項是最大運行的并發連接數,默認是1024,我這里設置了256,按照你服務器的負載量來設定,
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,
4、在客戶端使用php測試
<?php $mem=new Memcache; $mem->connect(“192.168.0.97″,11211); $mem->set(‘key’,'This is a test!’, 0, 60); $val=$mem->get(‘key’); echo $val; ?>