众所周知,现流行的no-sql产品有 memcached、redis、mogodb产品,
今天我们就来学习一下 memcached这个老牌的缓存服务器。
学习memcached首先是需要进行安装,今天主要看看linux下如何安装:
步骤:
1、下载源码包
打开网站进行下载 打开网站:http://memcached.org/
点击 Downloads 进行下载 http://memcached.org/files/memcached-1.4.32.tar.gz
wget http://memcached.org/files/memcached-1.4.32.tar.gz
先把安装包下载好
安装 memcache 依赖 libevent 首先检查是否已经安装,
rpm -qa | grep libevent
如果已经安装了,那么查看它的安装目录: rqm -ql | grep libevent
1、下载libevent
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
以上两上链接地址都可以
2、解压
tar -xzvf libevent-2.0.22.stable.tar.gz
3、进入目录 并编译
cd libevent-2.0.22
./configure --prefix=/usr/local/libevent
4、安装
make && make install
通过以上的配置 libevent 安装成功!
安装memcached :
wget http://memcached.org/files/memcached-1.4.32.tar.gz
解压:
tar -xzvf memcached-1.4.32.tar.gz
cd memcached-1.4.32
./configure --prefix=/usr/local/memcache --with-libevent=/usr/local/libevent
说明:--with-libevent=/usr/local/libevent 和libevent 安装目录保持一致。
make && make install
进入bin 目录,启动memcached
./memcached -d -m 1024 -u root
以root身份启动 memcached 进程 内存最大使用1024M
netstat -lp | grep memcached
查看是否启动memcached进程
ps -ef | grep memcached 查看进程 可以使用 kill -9 进程ID 杀死进程。
启动参数介绍如下:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcache的用户,这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。
-d install 安装memcached
-d uninstall 卸载memcached
-d start 启动memcached服务
-d restart 重启memcached服务
-d stop 停止memcached服务
-d shutdown 停止memcached服务
#!/bin/sh echo "Start to start memcached server $(date)..." MEMCACHED=/usr/local/memcached/bin/memcached usage() { echo "usage: `basename $0` port" } if [ -n "$1" ] then { pid=`ps aux|grep memcached|grep "$1" |grep -v grep|awk '{print $2}'` if [ -n "$pid" ] then { sleep 2 echo "kill memcached which port is $1 begin" echo "pid:$pid" kill -9 $pid echo "kill memcached which port is $1 end" sleep 2 } fi echo "begin to start memcached in port $1" LOG_FILE=/var/log/memcached/memcached_$1.log rm -f $LOG_FILE $MEMCACHED -d -m 2048 -p $1 -u root -vv >> $LOG_FILE 2>&1 echo "start memcached end" tail -f $LOG_FILE } else { usage exit 1 } fi
Shell代码
把该脚本命名为startup.sh
执行:./startup.sh 11211
其中11211为memcached的启动端口,也可以通过自定义的端口来启动