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 |