LNMP下安裝memcache
轉自:LNMP 添加 memcached服務
由於memcached具有更多的功能和服務,已經不推薦使用memcache了。(缺少個字母d)
1. 首先安裝memcached服務端。
這裏使用yum源安裝
# yum -y install memcached
啟動服務(命令默認在/usr/bin/memcached。主要的啟動參數-d守護進程,-u使用用戶,-m分配內存,-l機器ip,-p端口默認11211
# /usr/bin/memcached -d -uroot -p 11211 -m 200 -l 127.0.0.1
查看是否啟動成功
# netstat -anp | grep 11211
2. 安裝memcached客戶端
這裏使用源碼包安裝。下載libmemcached源碼包,官方地址 https://launchpad.net/libmemcached/+download
# tar -xf libmemcached-1.0.18.tar.gz # cd libmemcached-1.0.18 # ./configure --prefix=/usr/lib/memcached # 指定安裝在某個目錄下,為後面安裝php-memcached擴展用 # make && make install
3. 安裝php-memcached擴展
安裝php擴展模塊大致相同。之前寫過安裝pdo-mysql模塊。
基本步驟就是1. phpize ; 2. 編譯安裝該模塊,註意配置過程中的參數設置 ; 3. 去php.ini加一行,擴展extension=balabala.so
下載php-memcached,官網地址,https://pecl.php.net/package/memcached。
# tar -xf memcached-2.1.0.tgz # cd memcached-2.1.0 # /usr/local/php/bin/phpize # 假設php安裝在/usr/local/php,以後涉及php的也是假設安裝在這裏了 # ./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/lib/memcached
# make && make install
安裝成功後,最後一行提示會出現動態庫路徑:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
找到php.ini,把這個擴展路徑拷貝到裏頭
# vi /usr/local/php/lib/php.ini
# 在裏面追加一行 extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/memcached.so
# 重新啟動php-fpm。
# php -m | grep memcached #查看是否php模塊安裝成功
然後可以寫測試腳本,看看是否安裝成功~測試腳本可以去官網查看 http://php.net/manual/zh/book.memcached.php
比如:
<?php error_reporting(E_ALL & ~E_NOTICE); $m = new Memcached(); $m->addServer("127.0.0.1", 11211); $m->set("foo", "Hello!"); $m->set("bar", "Memcached..."); $arr = array( $m->get("foo"), $m->get("bar") ); print_r($arr);
memcached內存管理的機制:
參考這篇文章:http://www.cnblogs.com/qq78292959/archive/2012/12/27/2836015.html
memcached的存儲時間和大小限制:
LNMP下安裝memcache