首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

memcached 的装配与应用

2012-06-28 
memcached 的安装与应用一.memcached 应用:? ?最基础的项目应用:实时消息机制的应用,如用户需要获得实时消

memcached 的安装与应用

一.memcached 应用:

? ?最基础的项目应用:实时消息机制的应用,如用户需要获得实时消息,最没有效率的做法是用户定时去查询数据库,这样资源消耗过大,对系统稳定性也不好,通常的解决方案是缓存,服务器端定时查询消息更新缓存,用户查询消息时,直接读缓存即可。


二.memcached服务器的安装:

? ? 1.查看服务器是否已经安装:

?

yum list memcached

? ??? ? 如已经存在,且版本符合自己的需求,则可直接使用,如不符合,则用以下命令卸载:

?

yum remove memcached

? ? ? ?如不存在,则使用以下命令进行安装:

?

yum install memcached

?

?

?---------------------------------------------------------

?

?

? ? 2.上述是最简单的方式,但如果想安装自己喜欢的版本,则:

?

? ?1)用到的软件包:

  • libevent-2.0.17-stable.tar.gz ?[http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz]
  • memcached-1.4.13.tar.gz ?[http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz]

    ? ?2)下载软件包:

    Java代码?
    1. [root@hxqlinux?~]#?cd?/tmp??
    2. [root@hxqlinux?tmp]#?wget?http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz??
    3. [root@hxqlinux?tmp]#?wget?https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz??

    ?

    3)先安装libevent(memcached依赖libevent):

    Java代码??
    1. [root@hxqlinux?tmp]#?tar?zxvf?libevent-2.0.17-stable.tar.gz??
    2. [root@hxqlinux?tmp]#?cd?libevent-2.0.17-stable??
    3. [root@hxqlinux?libevent-2.0.17-stable]#?./configure?--prefix=/usr??
    4. [root@hxqlinux?libevent-2.0.17-stable]#?make?&&?make?install??

    ? ?4) 测试libevent是否安装成功:

    Java代码??
    1. [root@hxqlinux?libevent-2.0.17-stable]#?ls?-al?/usr/lib?|grep?libevent??

    看到类似下面的截图,说明libevent安装成功:

    memcached 的装配与应用

    ?

    5) 安装memcached:

    Java代码??
    1. [root@hxqlinux?tmp]#?tar?zxvf?memcached-1.4.13.tar.gz???
    2. [root@hxqlinux?tmp]#?cd?memcached-1.4.13??
    3. [root@hxqlinux?memcached-1.4.13]#?./configure?--with-libevent=/usr??
    4. [root@hxqlinux?memcached-1.4.13]#?make?&&?make?install??

    ?

    6) 测试memcached是否安装成功:

    Java代码??
    1. [root@hxqlinux?memcached-1.4.13]#?ls?-al?/usr/local/bin/memcached??

    ?看到类似下面的截图,说明memcached安装成功:

    memcached 的装配与应用

    ?

    ?

    ?---------------------------------------------------------

    ?

    ?

    3, memcached服务器的启动和关闭:

    一,直接的命令行方式:

    1) 启动和查看是否启动:

    ?

    Java代码??
    1. [root@hxqlinux?~]#/usr/local/bin/memcached?-d?-m?128?-u?root?-p?11211?-c?256?-P?/var/run/memcached1.pid??
    2. [root@hxqlinux?~]#?ps?aux|grep?memcached ?

    ?

    看到类似下面的截图,说明memcached1启动成功

    memcached 的装配与应用

    ?

    ? ?启动说明:

    ??Java代码??

    1. [root@hxqlinux?~]#/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 11211 -c 256 -P /opt/memcached.pid? ?

    ?

    ? ?参数:?

    -d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u 是运行Memcache的用户,我这里是root,-l  是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,-p 是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,-c  选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P 是设置保存Memcache的pid文件,我这里是保存在 /opt/memcached.pid
    ?

    2)关闭:?

    Java代码?
    1. [root@hxqlinux?~]#??kill 'cat?/var/run/memcached1.pid'

    ?再通过ps aux|grep memcached进行查看

    ?

    二,服务的方式:

    1)新建启动和关闭脚本并赋执行权限:

    Java代码??
    1. [root@hxqlinux?~]#?cp?/tmp/memcached-1.4.13/scripts/memcached.sysv?/etc/init.d/memcached??
    2. [root@hxqlinux?~]#?chmod?755?/etc/init.d/memcached??

    ?

    2)修改/etc/init.d/memcached文件(只列出了需要修改的内容):?

    Html代码?
    1. PORT=11212??
    2. USER=root??
    3. MAXCONN=256??
    4. CACHESIZE=128??
    5. OPTIONS=""??
    6. ??
    7. ??
    8. chown?$USER?/usr/local/bin/memcached??
    9. ?/usr/local/bin/memcached?-d?-p?$PORT?-u?$USER??-m?$CACHESIZE?-c?$MAXCONN?-P?/var/run/memcached2.pid?$OPTIONS??

    ?

    3)加入系统服务,并启动memcached服务,同时查看memcached服务是否启动成功:

    Java代码?
    1. [root@hxqlinux?~]#?chkconfig?--add?memcached??
    2. [root@hxqlinux?~]#?chkconfig?--level?235?memcached?on??
    3. [root@hxqlinux?~]#?chkconfig?--list?memcached??

    ?

    ?4)启动memcached服务器并检查memcached是否启动,关闭memcached:

    Java代码?
    1. [root@hxqlinux?~]#?service?memcached?start??
    2. [root@hxqlinux?~]#?ps?aux|grep?memcached??
    3. [root@hxqlinux?~]#?service?memcached?stop??

    ?

    ?

    ?---------------------------------------------------------

    ?

    4, 测试外部是否可以访问memcached服务器:

    通过telnet ip port来测试memcached是否可以访问,如果不能访问,应该是centos6的防火墙问题,进行如下修改:

    Java代码?
    1. [root@hxqlinux?~]#?iptables?-I?INPUT?-p?tcp?--dport?11211?-j?ACCEPT;??
    2. [root@hxqlinux?~]#?iptables?-I?OUTPUT?-p?tcp?--sport?11211?-j?ACCEPT;????
    3. [root@hxqlinux?~]#?iptables-save??
    4. [root@hxqlinux?~]#?service?iptables?save;??

    ?此时外部程序应该可以访问memcached 服务器了

    ?

    ?

    ?

    ?---------------------------------------------------------

    ?

    ?

    5, 注意:

    一,安装libevent的时候最好指定--prefix=/usr, 不然在安装memcached的时候可能会报找不到libevent的错误。

    二,至于windows下的安装,请参考:http://blog.csdn.net/zhangking/article/details/7104668

    三,也可以通过netstat -anp|grep 1121* 来查看memcache是否启动

    ?

    博客来源:http://hxq0506.iteye.com/blog/1388971

    ? ? ? ? ? ? ? ? ??http://www.ccvita.com/257.html

    ?

热点排行