� memcached 是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的
巨大的 hash 表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的
结果等。最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。起初作者
编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它
的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这
种方法不仅解决了共享内存只能是单机的弊端, 同时也解决了数据库检索的压力,最大的优
点是提高了访问获取数据的速度!基于 memcached 作者对分布式 cache 的理解和解决方案。
memcached 完全可以用到其他地方 比如分布式数据库, 分布式计算等领域。
1、 memcached 协议理解
memcache 是为了加快 http://www.livejournal.com/访问速度而诞生的一个项目。
它的官方主页是:http://www.danga.com/memcached/
目前在网站开发中应用较少,主要的应用有:
http://www.danga.com/memcached/users.bml
在国内的网站开发中,还很少没见到有应用的,中文资料十分匮乏。
工作机制:通过在内存中开辟一块区域来维持一个大的 hash 表来加快页面访问速度,和数据
库是独立的。但是目前主要用来缓存数据库的数据。允许多个 server 通过网络形成一个大的
hash,用户不必关心数据存放在哪,只调用相关接口就可。存放在内存的数据通过 LRU 算法
进行淘汰出内存。同时可以通过删除和设置失效时间来淘汰存放在内存的数据。
2、 memcached 使用入门
2.1 memcached 的安装
?<1>memcached 服务的安装
先检查 linux 内核版本,建议将 memcached 安装在 2.6 以上。
因为 memcached 需要用到 libevent 和 epoll 。
memcached 安装前首先确定你的服务器上面安装了 libevent 库,
libevent 下载地址( http://www.monkey.org/~provos/libevent/)。
下载 memcached 的源码( http://www.danga.com/memcached/download.bml)。
Memcached 最初是用 perl 写的,现在的版本是用 c 写的。
下载后拷贝到一个目录,安装需要 root 用户来执行