1.Memcached是什么?

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

    说的简单一点,相对于Web来说,Memcached就是一种减轻Mysql数据库负载、提升网站速度的一种基于键/值对分布式内存对象缓存系统。【大家都知道传统的RDBMS系统把数据是以文件的形式保存在磁盘上,而Memcached把数据是保存在内存中的,好处就不用我说了,内存的读写速度要比磁盘的读写速度要快好多,前者是后者的10的6次方

2.Memcached与传统RDBMS的关系:

  •  客户端第一次访问应用程序,会到传统的RDBMS(关系数据库管理系统),读取数据,返回给客户端,同时把数据储存到Memcached里。

  • 客户端第二次访问时,因为数据已经缓存【内存中】,不用去RDBMS查询数据,直接从Memcached取。【大大减少时间耗费,提高响应速度】 

3.Memcached源码安装:

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

    如果没有安装该程序库,马上安装:

  • ibevent 官网去下载最新最稳定的版本。然后用SSH工具【SecureCRT】上传到Linux上。

  • 或者直接通过wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz 下载下来

  • 解压。tar zxvf libevent-2.0.21-stable.tar.gz

  • 进入解压后的文件夹中。 cd libevent-2.0.21-stable 执行 ./configure --prefix=/usr

  • 编译及安装  make && make install 

  • 查看是否安装成功。 ls -al /usr/lib/ | grep libevent 

  •  如下图:

Linux CentOS6.5  Memcached 源码安装_Linux CentOS6.5

    

  接下来安装Memcached:

查看安装结果。ls -al /usr/local/bin/memcached

如下图:

Linux CentOS6.5  Memcached 源码安装_Linux CentOS6.5_02

  现在安装一切OK,现在让我们启动Memcached测试下吧!

  启动Memcached:

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

    结束Memcached:

      kill `cat /tmp/memcached.pid` 
        或者: 
            ps -aux | grep memcache 
             然后直接kill掉memcache进程。 

 使用telnet测试Memcached的连接状态。

    1. 如果没有安装telnet服务,直接通过yum方式安装 yum -y install telnet-server telnet

    2. 编辑 vim /etc/xinetd.d/telnet,修改该文件中 disable = yes默认】为 disable = no

        如下图:

  Linux CentOS6.5  Memcached 源码安装_Linux CentOS6.5_03

 C.重启telnet服务,service xinetd restart

 D.测试Memcached的连接 telnet 127.0.0.1 11211

    如下图:

    Linux CentOS6.5  Memcached 源码安装_Linux CentOS6.5_04

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

至此,你的Linux服务器上安装了Memcached服务,你可以使用各种语言来使用Memcache服务了,真是爽极了!