[Memcached]Memcached 的基础

来源:互联网 发布:云梦网络建站怎么样 编辑:程序博客网 时间:2024/04/30 19:23

        本文部分内容转载自 memcached完全剖析–1. memcached的基础,仅供学习使用。

Memcached 介绍

        Memcached 是以 LiveJournal 旗下 Danga Interactive 公司的 Brad Fitzpatric 为首开发的一款软件。现在已成为 mixi、hatena、Facebook、Vox、LiveJournal 等众多服务中提高 Web 应用扩展性的重要因素。

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

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

一般情况下 Memcached 的用途

Memcached 的特性

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

  • 协议简单
  • 基于 libevent 的事件处理
  • 内置内存存储方式
  • Memcached 不互相通信的分布式
1. 协议简单
        Memcached 的服务器客户端通信并不使用复杂的 XML 等格式,而使用简单的基于文本行的协议。因此,通过 telnet 也能在 Memcached 上保存数据、取得数据。
2. 基于 libevent 的事件处理
        libevent 是个程序库,它将 Linux 的 epoll、BSD 类操作系统的 kqueue 等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥 O(1) 的性能。Memcached 使用这个 libevent 库,因此能在 Linux、BSD、Solaris 等操作系统上发挥其高性能。
3. 内置内存存储方式
        为了提高性能,Memcached 中保存的数据都存储在 Memcached 内置的内存存储空间中。由于数据仅存在于内存中,因此重启 Memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于 LRU(Least Recently Used) 算法自动删除不使用的缓存。Memcached 本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
4. Memcached 不互相通信的分布式
        Memcached 尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个 Memcached 不会相互通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。
Memcached 的分布式
Memcached 的使用
1. 安装 Memcached
        Memcached 的安装比较简单,这里稍加说明。
        Memcached 支持许多平台:
  • Linux
  • FreeBSD
  • Solaris (memcached 1.2.5以上版本)
  • Mac OS X
        另外也能安装在 Windows 上。
        运行 Memcached 需要本文开头介绍的 libevent 库。按照官网上的说明首先安装 libevent:
        Debian/Ubuntu: apt-get install libevent-dev
        Redhat/Centos: yum install libevent-devel
        然后安装 Memcached:
wget http://memcached.org/latesttar -zxvf memcached-1.x.x.tar.gzcd memcached-1.x.x./configure && make && make test && sudo make install
2. Memcached 的启动
        默认情况下,Memcached 安装在 /usr/local/bin 下,安装完成后,在终端执行以下命令启动 Memcached。
memcached -p 11211 -m 64m -vv
        这样就在前台启动了 Memcached,监听 TCP 端口为 11211,最大内存使用量为 64M。
        作为 daemon 后台启动时,命令行如下:
memcached -p 11211 -m 64m -d
        这里使用的 memcached 启动选项的内容如下:
选项说明-p使用的 TCP 端口。默认为 11211-m最大内存大小。默认为 64M-vv用 very vrebose 模式启动,调试信息和错误输出到控制台-d作为 daemon 在后台启动        上面四个是常用启动选项,其他还有很多,通过 memcached -h 命令可以显示。
总结
        以上简单介绍了 Memcached,以及它的安装方法和启动方法。

0 0
原创粉丝点击