日期:2014-05-16  浏览次数:20655 次

在linux上安装Memcached Server
本文转自http://hi.baidu.com/openj/blog/item/a833df64082f55f7f6365421.html
项目里一些需要共享数据的地方,数据一直以一种设计极龌龊、线程极不安全、编码极不规范的方式在内存中组织。我承认是我设计出来这么恶心的东西,主要是处于最小编码量和编码时间考虑的,为了救火。但是随着需缓存的内容越来越多,并发要求越来越高的时候,先前的类似救火队员的代码有必要被推翻了,有必要上JMS和Memcached了。就先从Memcached下手,然后再搞JMS Cluster。

在网上搜了一些教程看了看,基本上只有两步:

1.编译安装libevent

2.编译安装Memcached

在我写这篇文章的时候,libevent已经有1.4.8稳定版,Memcached Server已经有1.3.0版本。本文就以这两个版本为例,我的gcc是gcc version 3.3.4 (Debian 1:3.3.4-7)。

首先安装libevent

wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz

tar zxvf libevent-1.4.8-stable.tar.gz

cd libevent-1.4.8-stable

./configure –prefix=/usr 指定安装在/usr下。一开始我没有指定安装目录导致libevent安装在/usr/local/lib,导致Memcached安装后找不到libevent库,即使手工指定路径也不行

make && make install

make clean

然后安装Memcached Server
wget http://www.danga.com/memcached/dist/memcached-1.3.0.tar.gz

tar zxvf memcached-1.3.0.tar.gz
cd memcached-1.3.0/

./configure --with-libevent=/usr 这里需要指定libevent的路径

make && make install

make clean

一眨眼功夫就都编译安装完成了。

测试下Memcached安装成功没:
/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

没错误提示的话,证明安装成功并且启动了Memcached服务了。
ps -ef |grep memcached 查看进程是否启动

Memcached基本说明:

启动参数:

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB
-u是运行Memcache的用户
-l是监听的服务器IP地址
-p是设置Memcache监听的端口
-c选项是最大运行的并发连接数,默认是1024
-P是设置保存Memcache的pid文件

结束Memcached进程使用如下语句:

kill `cat /tmp/memcached.pid`