@安装memcache
#wget http://pecl.php.net/get/memcache-2.2.6.tgz
#tar zxvf memcache-2.2.6.tgz
# cd memcache-2.2.6
#/usr/local/webserver/php/bin/phpize
#./configure --with-php-config=/usr/local/webserver/php/bin/php-config
#make
#make install
显示如下信息时为安装成功:
Installing shared extensions: /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/
#vi /usr/local/webserver/php/lib/php.ini
查找extension_dir = "./",去掉分号,并改为
extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/"
在extension_dir下面加上 extension = "memcache.so"
保存
#killall php-fpm
#/usr/local/webserver/php/sbin/php-fpm 启动
查看phpinfo中是否有memcache一项,有则成功
@安装memcached(需首先安装libevent)
#没有livevent可 yum install libevent-devel
#wget http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz
#tar -zxvf memcached-1.4.10.tar.gz
#cd memcached-1.4.10
#./configure --prefix=/usr/local/webserver/memcached --with-libevent=/usr/
#make
#make install
检查是否安装成功 #ls -al /usr/local/bin/mem* 显示/usr/local/bin/memcached即成功
启动memcached服务, 这里分配32M内容,端口为12000
#/usr/local/webserver/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 12000 -u root -P /tmp/memcached.pid 无提示则启动成功
#连接参数
-p 监听端口
-l 连接的IP地址,默认是本机
-d start启动memecache服务
-d restart重启
-d stop|shutdown关闭服务
-d install 安装
-d uninstall 卸载
-u 以身份运行仅在root下有效
-m 最大内存使用,单位MB,默认64MB,最大2G
-M 内存耗尽时返回错误
-c 最大同时连接数量,默认是1024
-f 块大小增长因为,默认是1.25
-n 最小分配空间,key+value+flags默认48
-h 显示帮助
Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。
$mem = new Memcache;
$mem->connect("127.0.0.1", 12000);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
//连接
$mem = new Memcache;
$mem->connect("127.0.0.1", 12000);
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."
";
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "
";
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "
";
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//关闭连接
$mem->close();
?>
Memcache面向对象的常用接口包括:
Memcache::add — 添加一个值,如果已经存在,则返回false
Memcache::addServer — 添加一个可供使用的服务器地址
Memcache::close — 关闭一个Memcache对象
Memcache::connect — 创建一个Memcache对象
memcache_debug — 控制调试功能
Memcache::decrement — 对保存的某个key中的值进行减法操作
Memcache::delete — 删除一个key值
Memcache::flush — 清除所有缓存的数据
Memcache::get — 获取一个key值
Memcache::getExtendedStats — 获取进程池中所有进程的运行系统统计
Memcache::getServerStatus — 获取运行服务器的参数
Memcache::getStats — 返回服务器的一些运行统计信息
Memcache::getVersion — 返回运行的Memcache的版本信息
Memcache::increment — 对保存的某个key中的值进行加法操作
Memcache::pconnect — 创建一个Memcache的持久连接对象
Memcache::replace — R对一个已有的key进行覆写操作
Memcache::set — 添加一个值,如果已经存在,则覆写
Memcache::setCompressThreshold — 对大于某一大小的数据进行压缩
Memcache::setServerParams — 在运行时修改服务器的参数