Memcached 是一个高性能的开源分布式内存对象缓存系统,当前被许多网站使用。 Memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。
Memcached 是一个高性能的分布式内存对象缓存系统,由 LiveJournal 的 Brad Fitzpatrick 开发,但当前被许多网站使用。这是一套开放源代码软件,以 BSD license 授权发布。 Memcached 缺乏认证以及安全管制,这代表应该将 memcached 服务器放置在防火墙后。
memcached 的 API 使用三十二比特的循环冗余校验(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 将数据库负载大幅度降低,更好的分配资源,更快速访问。