Windows版本安装
windows 上安装 memcached ,我的理解是一般用于应用程序测试和开发阶段。一般在 windows 上直接应用 memcached 的比较少。本次功能介绍和学习先用 windows
下载二进制版本
windows 版本的服务端程序在官方网站上没有找到,官网只有源代码版本。为了方便,直接在网上 google 到对应的二进制版本下载 .
这里使用 1.4.4wind32
下载地址: http://downloads.northscale.com/memcached-win32-1.4.4-14.zip
安装单个服务
window
本案例使用环境: WINDOWS7 的 64 位 +i5CPU+4G
直接解压到你喜欢的目录,这里我使用 D:\tools\memcached\memcached-win32-1.4.4-14
安装 memcached
D:\>cd D:\tools\memcached\memcached-win32-1.4.4-14
D:\tools\memcached\memcached-win32-1.4.4-14>memcached.exe -d install
D:\tools\memcached\memcached-win32-1.4.4-14>memcached.exe -d start
服务启动后, memcached 默认使用 64M 内存和 11211
\验证安装结果
d:\>telnet localhost 11211
add firstKey 0 0 15
Hello Memcached
STORED
get firstKey
VALUE firstKey 0 15
Hello Memcached
END
quit
安装多个服务
下面的代码是安装三个 memcached 服务在同一 Windows
使用的命令是 sc 命令,详情参考: SC –H. 。分别使用端口号 11211,11212,11213 ,每个服务使用内存 128M ( -m 128
sc create memcached-1 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11211"
sc create memcached-2 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11212"
sc create memcached-3 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11213"
安装多个 memcached
linux 版本的安装在各个发布版本中,大致相同,本案例采用 Red Hat AS5
安装方式
Linux 下有 package 方式和 source 方式, package 方式安装是真对具体发行版本和内核的默认安装,如果想自定义或配置一般采用 source 安装方式。本例采用 source
下载 source 安装包
本案例使用最新版 memcached-1.4.5.tar.gz 和 libevent-2.0.10-stable.tar.gz 。本案例使用 libevent 作为 memcached 的底层通讯插件,提供非阻塞式的 SOCKET
下载地址:
http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz
[root@hadoop00 /]# cd /opt/
[root@hadoop00 opt]# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
[root@hadoop00 opt]# http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz
环境需求
Source 方式安装需要 GCC
[root@hadoop00 opt]# gcc –v
安装 libevent
[root@hadoop00 opt]# tar -zxvf libevent-2.0.10-stable .tar.gz
[root@hadoop00 opt]# cd libevent-2.0.10-stable
[root@hadoop00 opt]# ./configure --prefix=/usr/
[root@hadoop00 opt]# make
[root@hadoop00 opt]# make install
[root@hadoop00 opt]# ls /usr/lib |grep libevent // 验证安装
安装 memecached
[root@hadoop00 opt]# tar -zxvf memcached-1.4.5.tar.gz
[root@hadoop00 opt]# cd memcached-1.4.5
[root@hadoop00 memcached-1.4.5]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/
[root@hadoop00 memcached-1.4.5]# make
[root@hadoop00 memcached-1.4.5]# make install
[root@hadoop00 memcached-1.4.5]# ls -al /usr/local/memcached/bin
设置防火墙
如果你在内网的网络平面使用,可以关闭防火墙。如果你在公网环境,请配置防火墙忽略 memcached
永久性生效,重启后不会复原
开启:
[root@hadoop00]# chkconfig iptables on
关闭:
[root@hadoop00]# chkconfig iptables off
即时生效,重启后复原
开启:
[root@hadoop00]# service iptables start
关闭:
[root@hadoop00]# service iptables stop
设置防火墙:
修改 /etc/sysconfig/iptables 文件,
添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT
启动 memcached 服务
[root@hadoop00]# /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.160.129 -p 11211 -c 256 -P /tmp/memcached.pid
启动参数介绍,其它参数请参见: Memcached
-d 选项是启动一个守护进程,
-m 是分配给Memcache 使用的内存数量,单位是MB ,我这里是100MB ,
-u 是运行Memcache 的用户,我这里是root ,
-l 是监听的服务器IP 地址,如果有多个地址的话,我这里指定了服务器的IP 地址192.168.36.200 ,
-p 是设置Memcache 监听的端口,我这里设置了11211 ,最好是1024 以上的端口,我们这里统一使用11211-c 选项是最大运行的并发连接数,默认是1024 ,我这里设置了256
-P 是设置保存Memcache 的pid 文件,我这里是保存在/tmp/memcached.pid
结束 Memcache 服务
直接采用 kill
[root@hadoop00 bin]# kill cat /tmp/memcached.pid
或
[root@hadoop00 bin]# ps -ax|grep memcached
18007 ? Ssl 0:00 ./memcached -d -m 100 -u root -l 192.168.221.10 -p 11211 -c 256 -P /tmp/memcached.pid
[root@hadoop00 bin]# kill -9 18007
测试安装
使用 telnet 方式直接连接到 memcached 进行简单测试,注意,这里只能使用你启动时候使用的 IP 进行连接。本例是 192.168.221.10
[root@hadoop00 bin]# telnet 192.168.221.10 11211
Trying 192.168.221.10...
Connected to hadoop00 (192.168.221.10).
Escape character is '^]'.
add key1 0 0 12
hello first!
STORED
get key1
VALUE key1 0 12
hello first!
END
^]
telnet> q
Connection closed.
Memcached 启动参数
-p <num> TCP 监听端口,默认 11211
-U <num> UDP 监听端口,默认 11211 ,如果配置 0
-s <file> UNIX socket path to listen on (disables network support)
-a <mask> access mask for UNIX socket, in octal (default: 0700)
-l <ip_addr> 监听 IP 。默认是本地所有 IP
-d 启动一个守护进程
-r maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num> max memory to use for items in megabytes (default: 64 MB)
-M return error on memory exhausted (rather than removing items)
-c <num> max simultaneous connections (default: 1024)
-k lock down all paged memory. Note that there is a
limit on how much memory you may lock. Trying to
allocate more than that would fail, so be sure you
set the limit correctly for the user you started
the daemon with (not for -u <username> user;
under sh this is done with 'ulimit -S -l NUM_KB').
-v verbose (print errors/warnings while in event loop)
-vv very verbose (also print client commands/reponses)
-vvv extremely verbose (also print internal state transitions)
-h print this help and exit
-i print memcached and libevent license
-P <file> save PID in <file>, only used with -d option
-f <factor> chunk size growth factor (default: 1.25)
-n <bytes> minimum space allocated for key+value+flags (default: 48)
-L Try to use large memory pages (if available). Increasing
the memory page size could reduce the number of TLB misses
and improve the performance. In order to get large pages
from the OS, memcached will allocate the total item-cache
in one large chunk.
-D <char> Use <char> as the delimiter between key prefixes and IDs.
This is used for per-prefix stats reporting. The default is
":" (colon). If this option is specified, stats collection
is turned on automatically; if not, then it may be turned on
by sending the "stats detail on" command to the server.
-t <num> number of threads to use (default: 4)
-R Maximum number of requests per event, limits the number of
requests process for a given connection to prevent
starvation (default: 20)
-C Disable use of CAS
-b Set the backlog queue limit (default: 1024)
-B Binding protocol - one of ascii, binary, or auto (default)
-I Override the size of each slab page. Adjusts max item size
(default: 1mb, min: 1k, max: 128m)
-p 监听的端口
-l 连接的 IP 地址 , 默认是本机
-d start 启动 memcached
-d restart 重起 memcached
-d stop|shutdown 关闭正在运行的 memcached
-d install 安装 memcached
-d uninstall 卸载 memcached
-u 以的身份运行 ( 仅在以 root 运行的时候有效 )
-m 最大内存使用,单位 MB 。默认 64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是 1024
-f 块大小增长因子,默认是 1.25
-n 最小分配空间, key+value+flags 默认是 48
-h 显示帮助