MEMCACHED安装
一、服务端。先安装libevent,再安装memcached。(注:libevent是一套跨平台的事件处理接口的封装,能够兼容包括:Windows/Linux/BSD/Solaris等操作系统的事件处理)
1、下载最新版本的libevent和memcached,笔者的安装目录为/soft
>cd /soft
>wget http://www.dange.com/memcached/dist/memcached-1.4.0.tar.gz
>wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
2、安装libevent
>tar -zxvf libevent-1.4.12-stable.tar.gz
>cd libevent-1.4.12-stable
>./configure --prefix=/opt/libevent(注:指定安装目录)
>make
>make install
3、安装memcached
>tar -zxvf memcached-1.4.0.tar.gz
>cd memcached-1.4.0
>./configure --prefix=/opt/memcached --with-libevent=/opt/libevent
>make
>make install
4、启动memcached
>/opt/memcached/bin/ -d -m 10 -u root -l 192.168.0.35 -p 12000
注:
如果启动失败,提示没有找到libevent扩展库的话,解决方法:复制libevent扩展库到memcached查找路径,>ln -s /opt/libevent/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2。
启动参数说明:-d启动一个守护进程,-m分配给memcached使用的内存MB数量,-u运行memcached的用户,-l监听的服务器IP地址,-p监听端口,其他设置请参看手册。
二、PHP客户端,Liunx环境在http://pecl.php.net 下载PHP扩展库,Windows去下载php_memcache.dll至PHP扩展文件夹,配置php.ini,即可。当然够强的话,按照memcached协议自己写。
三、Memcache运用
<?php
$m = new Memcache;
$m->set('val1', 'Hello Memcached!', 0, 60);
echo $m->get('val1');
……
?>
四、Memcached部分特性和限制
1、在Memcached中可以保存的item数据量没有限制,只要内存足够
2、Memcached单进程最大使用内存是2G,要使用更多内存,可以分多个端口开启多个Memcached进程
3、最大30天的数据过期时间,设置为永久也是30天过期,常量REALTIME_MAXDELTA 60*60*24*30控制
4、最大键长250字节,>250将无法存储,常量KEY_MAX_LENGTH 250控制
5、单个item最大数据是1MB,>1MB无法存储,常量POWER_BLOCK 1048576控制,默认是slab大小
6、最大同时连接数200,通过conn_init()中的freetotal控制,最大软连接数1024,通过settings.maxconns=1024控制