Memcache是一個非常不錯的緩存插件了,現在有很多的網站都會使用Memcache實現數據緩存了,下面小編就為各位整理一篇linux下編譯安裝Memcached 和 Memcache 的PHP擴展的例子.
一:安裝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 //Vevb.com
- 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擴展.
新聞熱點
疑難解答