最新消息:我们是一群和平年代充满浮躁与抱怨的程序猿,心中充满抱负却无处撒野,明明是一匹野马,却找不到草原。

Memcached深入剖析(一)—Memcached服务器安装

IT闲聊 goomoon 728浏览 0评论

Memcached是一个高性能的分布式内存缓存服务器。 一般的使用目的是:通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。

许多Web应用都将数据保存到DB中,应用服务器从DB中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现DB的负担加重、数据库响应恶化、 网站显示延迟等重大影响。这时就该memcached大显身手了。

memcached

Memcached的特征

Memcached作为高速运行的分布式缓存服务器,具有以下的特点:

  • 协议简单
  • 基于libevent的事件处理
  • 内置内存存储方式
  • memcached不互相通信的分布式

下面就Memcached的每个特征进行解释。

1.协议简单

Memcached服务器和客户端之间的通信并不使用复杂的XML等格式, 而使用简单的基于文本行的协议。因此,通过telnet 也能在Memcached上保存数据、取得数据。

协议文档位于memcached的源代码内,也可以参考 http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt

2. 基于libevent的事件处理

libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能 封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。 关于事件处理这里就不再详细介绍,可以参考Dan Kegel的The C10K Problem。

3.内置内存存储方式

为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。 由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。 另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。 memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。 关于内存存储的详细信息,本连载的第二讲以后前坂会进行介绍,请届时参考。

4.memcached不互相通信的分布式

memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。 各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢? 这完全取决于客户端的实现。本连载也将介绍memcached的分布式。
memcached1

Memcached安装方法

安装Memcached比较简单,并且Memcached支持很多平台,Linux,FreeBSD,Solaris,Mac OS X甚至也能安装在Windows上。这里以Ubuntu为例:

首先需要先安装libevent,此时最新版本为:libevent-2.0.22-stable.tar.gz    下载地址:http://libevent.org/

下载并解压到 /opt/soft/libevent-2.0.22-stable 里,运行命令安装:

下载Memcached包,下载地址:http://memcached.org/,并解压至 /opt/soft/memcached-1.4.22,运行命令安装:

默认情况下memcached安装到/usr/local/bin下。

Memcached启动

在终端里输入命令,启动Memcached服务:

然后出现,下面如图所示调试信息:

这样就在前台启动了memcached,监听TCP端口11211 最大内存使用量为64M。调试信息的内容大部分是关于存储的信息。而作为daemon后台启动时,命令时这样的:

这里使用的memcached启动选项的内容如下:

选项 说明
-p 使用的TCP端口。默认为11211
-m 最大内存大小。默认为64M
-vv 用very vrebose模式启动,调试信息和错误输出到控制台
-d 作为daemon在后台启动

上面四个是常用的启动选项,其他还有很多,通过下面一段命令:

就可以显示全部命令,许多选项可以改变memcached的各种行为, 推荐仔细阅读一下。

至此,服务器端Memcache算是安装成功了。当然作为高并发Memcached缓存服务器来说,需要仔细推敲下启动参数,以达到最优化。

转载请注明:刘召考的博客 » Memcached深入剖析(一)—Memcached服务器安装