Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它经过在内存中缓存数据和对象来减小读取数据库的次数,从而提升动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,可是客户端能够用任何语言来编写,并经过Memcached协议与守护进程通讯。
Memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license受权协议发布。
Memcached缺少认证以及安全管制,这表明应该将Memcached服务器放置在防火墙后。
Memcached的API使用32位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不一样的机器上。当表格满了之后,接下来新增的资料会以LRU机制替换掉。因为Memcached一般只是看成快取系统使用,因此使用Memcached的应用程式在写回较慢的系统时(像是后端的数据库)须要额外的程式码更新Memcached内的资料。
Memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提升Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加剧、数据库响应恶化、网站显示延迟等重大影响。
这时就该Memcached大显身手了。Memcached是高性能的分布式内存缓存服务器。通常的使用目的是,经过缓存数据库查询结果,减小数据库访问次数,以提升动态Web应用的速度、提升可扩展性。
Memcached 的守护进程(daemon )是用C写的,可是客户端能够用任何语言来编写,并经过Memcached协议与守护进程通讯。可是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S中止运行或崩溃了,全部存放在S上的键/值对都将丢失。
Memcached由Danga Interactive开发,其最新版本发布于2010年,做者为Anatoly Vorobey和Brad Fitzpatrick。用于提高LiveJournal . com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度下降,更好的分配资源,更快速访问。数据库