memcached 的安装与应用

一.memcached 应用:

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


二.memcached服务器的安装:

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

 

yum list memcached

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

 

yum remove memcached

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

 

yum install memcached

 

 

 ---------------------------------------------------------------------------------------------------------------------------------

 

 

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

 

   1)用到的软件包:

   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安装成功:

 

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安装成功:

 

 

 ---------------------------------------------------------------------------------------------------------------------------------

 

 

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启动成功

 

   启动说明:

  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

 

你可能感兴趣的:(memcached)