centos 6.5 安装 memcached 1.4.24

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。 

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 

工作原理: 

①客户端第一次访问应用程序时,会到数据库(RDBMS)中取出数据,返回给客户端;同时也将取出的数据保存到memcached中。 

② 第二次访问时,因为数据已经缓存,不不用去数据库查询了,直接从memcached取。 
那么memcached的快速和高效率是如何体现出来的呢?我们都清楚,RDBMS是文件型的数据库,最终还是以文件的形式保存在磁盘上。而memcached则不一样,它是key:value关系型的数据库,是保存在内存中的。那么就不用我再做说明了,内存的读写速度要比磁盘的读写速度快得多,前者是后者的10的6次方倍。http://blog.rekfan.com/?p=172 


Memcached支持Linux系统,也支持Windows系统,分别需要不同的安装包,鉴于在Windows使用比较少,所以散仙今天就总结一下,在Centos下安装Memcached的整个流程,一方面是为了记录一下,防止日后生疏,另一方面也为刚刚使用Memcached的朋友们,提供一份入门的教程。 

下面进入正题: 



首先,memcached是基于libevent的,所以确保你的系统已经装了libevent,libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。 
我在系统上使命令查询,显示安装了libevent

rpm -q libevent 

libevent-1.4.13-4.el6.x86_64

但是安装时memcache时显示没有安装libevent

由于memcached和libevent是由C编写的,所以首先确保你的系统安装了gcc,如果 
没有安装,使用yum安装即可 
命令:  
yum -y install gcc 
yum -y install gcc-c++ 


然后下载libevent 
然后上传centos,进行给予权限,然后解压 
# tar xzvf libevent-2.0.22-stable.tar.gz ##解压 
# cd libevent-2.0.22-stable 
# ./configure --prefix=/usr 
# make 
# make install 


安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent) 

然后下载memcached 

# tar xzvf memcached-1.4.24.tar.gz 
# cd memcached-1.4.24 
# ./configure --with-libevent=/usr 
# make 
# make install 
安装结果(ls -al /usr/local/bin/memcached)如图: 



 

关于memcache启动的一些参数说明: 

memcached命令参数解释: 

-p <num>          监听的端口 
-l <ip_addr>      连接的IP地址, 默认是本机 
-d start          启动memcached 服务 
-d restart        重起memcached 服务 
-d stop|shutdown  关闭正在运行的memcached 服务 
-d install        安装memcached 服务 
-d uninstall      卸载memcached 服务 
-u <username>     以<username>的身份运行 (仅在以root运行的时候有效) 
-m <num>          最大内存使用,单位MB。默认64MB 
-M                内存耗尽时返回错误,而不是删除项 
-c <num>          最大同时连接数,默认是1024 
-f <factor>       块大小增长因子,默认是1.25 
-n <bytes>        最小分配空间,key+value+flags默认是48 
-h                显示帮助 


然后执行命令启动memcached 
#/usr/local/bin/memcached -d -m 1024 -u root -p 11211 -P /tmp/memcached.pid 

然后就可以使用telnet,来测试memcache的连接状态, 

如果没有安装telnet服务,可以执行 
yum install telnet-server 
安装服务 
yum install telnet 
安装命令 

然后编辑vi /etc/xinetd.d/telnet 文件,激活telnet,默认是禁用的,截图如下: 

 
然后重启服务,执行命令 service xinetd restart 


然后就可以测试memcached的连接,执行命令 
telnet 127.0.0.1 11211 

输入stats,会输出memcache的一些连接信息,包括PID 
如果需要退出,则执行quit命令即可,截图如下: 


 

退出telnet,执行quit命令即可,上图所示的memcached进程ID,很重要,如果我们需要关闭memcached服务时,就可以执行命令,kill -9 进程号 即可。 


最后,我们在来看下如何使用JAVA API,简单的来测试下memcached,注意如果memcached的端口号,需要对外开放,否则,将会出现连接不上的异常,测试环境我们可以把防火墙关闭测试: 
用到的jar包,如下所示: 

 
测试,程序核心代码和运行结果如下: 

Java代码   收藏代码
  1. package com.test.client;  
  2.   
  3. import java.net.InetSocketAddress;  
  4.   
  5. import net.spy.memcached.MemcachedClient;  
  6. /** 
  7.  * @author qindongliang 
  8.  *  
  9.  *  
  10.  * **/  
  11. public class TestClient {  
  12.       
  13.       
  14.       
  15.     public static void main(String[] args) throws Exception{  
  16.           
  17.         MemcachedClient client=new MemcachedClient(new InetSocketAddress("192.168.75.130"11211));  
  18.           //60是超时数,默认以秒为单位  
  19.           client.set("test"60"1111测试memcache成功了吧");  
  20.        
  21.           
  22.          System.out.println(client.get("test"));  
  23.           client.shutdown();//关闭连接  
  24.           
  25.           
  26.     }  
  27.   
  28. }  


控制台打印内容如下所示:  
Java代码   收藏代码
  1. 2014-03-18 18:13:30.008 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=/192.168.75.130:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue  
  2. 2014-03-18 18:13:30.011 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@33c3e6  
  3. 1111测试memcache成功了吧  
  4. 2014-03-18 18:13:30.020 INFO net.spy.memcached.MemcachedClient:  Shut down memcached client 



转载自:Centos6.5下安装Memcached完整示例

Linux上完美安装memcache(含自启动)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值