Memcache初学之一 memcache安装
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?默认使用?64M?内存和?11211?端口作为服务器参数。如果你希望调整参数,请参考:?memcached.exe -h
\验证安装结果
?
Java代码??
????OK,?使用存取命令执行成功。表示安装成功。
?
?
下面的代码是安装三个?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?服务,便于在同一个机器上测试客户端的分布式逻辑。
?
linuxlinux?版本的安装在各个发布版本中,大致相同,本案例采用?Red Hat AS5?环境(暂时只有这个虚拟机)。
?
Linux?下有?package?方式和?source?方式,?package?方式安装是真对具体发行版本和内核的默认安装,如果想自定义或配置一般采用?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
?
?
?
Java代码??
?
Source?方式安装需要?GCC?,请检查是否安装,如果没有请先安装。
?
Java代码??
?

?
Java代码??
如果你在内网的网络平面使用,可以关闭防火墙。如果你在公网环境,请配置防火墙忽略?memcached?。
Java代码??
?
启动参数介绍,其它参数请参见:?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
?
直接采用?kill?方式
Java代码??
?
使用?telnet?方式直接连接到?memcached?进行简单测试,注意,这里只能使用你启动时候使用的?IP?进行连接。本例是?192.168.221.10
?Java代码??
-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?显示帮助
?