肉渣教程

Memcached 简介

上一节 下一节

Memcached是Danga公司(Danga Interactive)开发的,Danga公司的创始人是Brad Fitzpatrick,Memcached就是Brad Fitzpatrick主导开发的。Danga公司开发过很多优秀的产品,LiveJournal就是该公司的产品。


什么是Memcached?

Memcached是一种高性能的分布式内存缓存服务器程序。大部分Web应用都会使用数据库保存数据,Web应用服务器程序会从数据库中读取程序而返回给浏览器端进行显示;随着数据量的增大、访问的集中,数据库的响应就会负担加重、响应变慢、网页显示延迟;尤其对于MySQL这类关系型数据库来说,查询对于资源的消耗是相对更加明显的。

其实,有很多热点数据的查询都是重复的,查询的内容是重复的,返回的结果也是一样的;此时,就可以通过Memcached来缓存数据库的查询结果,减少数据库的重复查询,从而减少数据库的查询压力、提高动态Web应用的访问速度。RDBMS是关系型数据库管理系统的简称,全称是“Relational Database Management System”,更多请查看这里。)


为啥不直接使用内存来缓存数据库查询结果呢?通常来说,web服务器程序进程一般都是多个进程;各自为阵地使用内存进行缓存,命中率会比较低,对内存还会造成重复消耗;内存本身就是比较紧俏的资源,对内存的浪费是不能容忍的。另外,将缓存独立于web服务器进程,可使缓存程序更加稳定


Memcached的特点

作为一种高性能的分布式缓存,Memcached具有如下特点:

  • 协议简单
  • 基于libevent的事件处理
  • 基于内存的存储方式
  • 基于算法的分布式

Memcached的读写速度是稍稍低于内存,但明显高于绝大部分数据库的;因为Memcached是基于内存的分布式缓存


Memcached 简介

上一节 下一节