一:安裝Memcache
1:編譯安裝libevent
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/libevent
make
make isntall
2:編譯安裝memcached
wget http://www.memcached.org/files/memcached-1.4.19.tar.gz
tar -zxvf memcached-1.4.19.tar.gz
cd memcached-1.4.19
./configure -with-libevent=/usr/local/libevent/ -prefix=/usr/local/memcached
make
make install
3:啟動memcached:
/usr/local/memcached/bin/memcached -d -m 64 -u root -p 11211
下面是memcached命令相關參數詳情:
-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,也可以啟動多個守護進程,不過連接埠不能重複。
ps aux |grep memcached
clipboard
vim /etc/rc.d/rc.local 加入/usr/local/memcached/bin/memcached -d -m 64 -u root -p 11211 #加入開機啟動項
telnet 127.0.0.1 11211 #檢測memcache
如果出現-bash: telnet: command not found (說明未安裝telnet)
直接yum install telnet
telnet set進行測試
set 對應的參數
key key 用於尋找緩衝值
flags 可以包括索引值對的整型參數,客戶機使用它儲存關於索引值對的額外資訊
expiration time 在緩衝中儲存索引值對的時間長度(以秒為單位,0 表示永遠)
bytes 在緩衝中儲存的位元組點
value 儲存的值(始終位於第二行)
clipboard1
二: 安裝memcache的php擴充
wget http://pecl.php.net/get/memcache-3.0.8.tgz
tar -zxvf memcache-3.0.8.tgz
cd memcache-3.0.8
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so # 查看是否產生擴充so檔案
-rwxr-xr-x 1 root root 422219 May 9 10:29 /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so #檔案存在
vim /usr/local/php/etc/php.ini #加入擴充
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension = "memcache.so"
重啟php:
自己用的是nginx
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #平滑重啟php
/usr/local/php/bin/php -m #查看php是否加入了memcache擴充(或者執行phpinfo函數查看是否存在memcache擴充)