由于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的存储时间和大小限制:
参考这篇文章:http://blog.csdn.net/lgh1117/article/details/11742023