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。
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
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
创建软链
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
./memcached -d -m 64 -p 11211 -l 127.0.0.1 -u nobody -c 1024
memcached常用启动参数描述:
-d:启动一个守护进程,
-m:分配给Memcache使用的内存数量,单位是MB,默认是64MB,
-u:运行Memcache的用户
-l:监听的服务器IP地址
-p:设置Memcache监听的端口,默认是11211注:-p(p为小写)
-c:设置最大并发连接数,默认是1024
-P:设置保存Memcache的pid文件注:-P(P为大写)
-h 显示帮助
B、通过APT包安装
apt-get install memcached
二、安装Memcache管理器
A、环境准备
安装Memcache客户端
方法一、通过APT安装
apt-get install php5-memcache
方法二、通过pecl安装
pecl install memcache
重启Apache
/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 (遍历功能除外)。支持服务器连接池,多服务器管理切换方便简洁。
安装
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/
配置访问用户
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服务器、实时查看各个服务器的内存使用状况、实时查看缓存命中情况、直接浏览缓存内容,删除指定缓存项等。
安装
wget http://livebookmark.net/memcachephp/memcachephp.zip
unzip memcachephp.zip
cp memcache.php /var/www/
配置Memcachepphp
根据自己的情况修改用户名密码和memcache服务器地址
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,输入用户名/密码访问即可。