Memcached是免费、开源(BSD license授权)、高性能分布式的对象内存缓存系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。Memcached被广泛用于动态数据的 缓存,可大大减低数据库负载与压力,提高数据库系统的性能与容量,从而极大地增加动态网页的效率与网速。
Memcached缺乏认证以及安全管制,这代表应该将Memcached服务器放置在防火墙后。
Memcached具有多种语言的客户端开发包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/
一、安装Memcached
A、通过源码编译安装
编译前,请先确认gcc、make、patch等编译工具是否已安装,并可正常使用。
安装Libevent
Libevent是一个异步事件处理软件函式库,以BSD许可证释出。Memcached依赖Libevent,因此必须先编译安装Libevent。
1 2 3 4 5 |
wget http://www.monkey.org/~provos/libevent-2.0.13-stable.tar.gz tar xzvf libevent-2.0.13-stable.tar.gz ./configure make make install |
安装Memcached
1 2 3 4 5 6 |
wget http://memcached.googlecode.com/files/memcached-1.4.7.tar.gz tar xvzf memcached-1.4.7.tar.gz cd memcached-1.4.7 ./configure --prefix=/usr/local/memcached/ make make install |
创建软链
1 |
ln -s /usr/local/lib/libevent-2.0.so.5 /lib/libevent-2.0.so.5 |
注:如果你不创建这个软链,启动memcached是可能会报./memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory这样的错误。这是因为memcached无法定位libevent库,libevent默认安装目录是/usr/local/lib /libevent-2.0.so.5,所以这里创建软链解决这个问题。
另:我在编译时用–with-libevent参数指定了libevent的位置,启动依然有这个问题。
启动memcache
1 |
./memcached -d -m 64 -p 11211 -l 127.0.0.1 -u nobody -c 1024 |
memcached常用启动参数描述:
1 2 3 4 5 6 7 8 |
-d:启动一个守护进程, -m:分配给Memcache使用的内存数量,单位是MB,默认是64MB, -u:运行Memcache的用户 -l:监听的服务器IP地址 -p:设置Memcache监听的端口,默认是11211注:-p(p为小写) -c:设置最大并发连接数,默认是1024 -P:设置保存Memcache的pid文件注:-P(P为大写) -h 显示帮助 |
B、通过APT包安装
1 |
apt-get install memcached |
二、安装Memcache管理器
A、环境准备
安装Memcache客户端
方法一、通过APT安装
1 |
apt-get install php5-memcache |
方法二、通过pecl安装
1 |
pecl install memcache |
重启Apache
1 |
/etc/init.d/apache2 restart |
B、安装MemAdmin
MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。
主要功能:服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新。服务器性能监控:GET、 DELETE、INCR、DECR、CAS等常用操作命中率实时监控。支持数据遍历,方便对存储内容进行监视。支持条件查询,筛选出满足条件的KEY或 VALUE。数组、JSON等序列化字符反序列显示。 兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外)。支持服务器连接池,多服务器管理切换方便简洁。
安装
1 2 3 |
wget http://www.junopen.com/memadmin/memadmin-1.0.5.tar.gz tar xvzf memadmin-1.0.5.tar.gz cp -r memadmin /var/www/ |
配置访问用户
1 2 3 4 5 |
vi memadmin/config.php #根据自己情况修改用户名和密码 $config['user'] = "admin"; // your username $config['passwd'] = "admin"; // your password |
访问https://域名(或IP)/memadmin/index.php,输入用户名/密码访问即可。
C、安装Memcachepphp
Memcachepphp也是一个WEB管理工具,这个程序只有一个文件,部署相当简单。Memcachepphp功能有:管理多个memcache服务器、实时查看各个服务器的内存使用状况、实时查看缓存命中情况、直接浏览缓存内容,删除指定缓存项等。
安装
1 2 3 |
wget http://livebookmark.net/memcachephp/memcachephp.zip unzip memcachephp.zip cp memcache.php /var/www/ |
配置Memcachepphp
根据自己的情况修改用户名密码和memcache服务器地址
1 2 3 4 5 6 7 8 9 |
vi memcache.php define(‘ADMIN_USERNAME’,'memcache’); // Admin Username define(‘ADMIN_PASSWORD’,'password’); // Admin Password define(‘DATE_FORMAT’,'Y/m/d H:i:s’); define(‘GRAPH_SIZE’,200); define(‘MAX_ITEM_DUMP’,50); $MEMCACHE_SERVERS[] = ‘localhost:11211′; // add more as an array //$MEMCACHE_SERVERS[] = ‘mymemcache-server2:11211′; // add more as an array |
访问https://域名(或IP)/memadmin/index.php,输入用户名/密码访问即可。