memcached 是一种高性能、分布式内存对象缓存系统,本质上是通用的,但最初旨在通过减轻数据库负载来加速动态 Web 应用程序。
您可以将其视为应用程序的短期记忆.
memcached 允许您从系统中超出您需要的部分获取内存,并使其可供您拥有少于您需要的区域访问.
memcached 还允许您更好地利用内存。如果您考虑右图,您可以看到两种部署方案:
第一种情况说明了经典的部署策略,然而你会发现这既是一种浪费,因为总的缓存大小只是你的web农场实际容量的一小部分,而且还需要花费大量的精力来保持所有这些节点上的缓存一致.
使用 memcached,您可以看到所有服务器都在查找相同的虚拟内存池。这意味着给定项目始终存储并始终从整个 Web 集群中的同一位置检索.
此外,随着对应用程序的需求增长到需要更多服务器的程度,通常在必须定期访问的数据方面也会增长。系统的这两个方面一起扩展的部署策略才有意义.
为简单起见,右图仅显示了两个 Web 服务器,但随着数量的增加,属性保持不变。如果您有 50 个 Web 服务器,在第一个示例中您的可用缓存大小仍为 64MB,但在第二个示例中,您将有 3.2GB 的可用缓存.
当然,您不需要将 Web 服务器的内存用于缓存。许多 memcached 用户拥有专为 memcached 服务器而构建的专用机器.
Memcached 最初是由 Brad Fitzpatrick 于 2003 年为LiveJournal开发的.
dormando (886) | Dustin Sallings (214) | Brad Fitzpatrick (164) | Trond Norbye (130) |
Paul Lindner (58) | Toru Maesaka (34) | Steven Grimm (25) | David Carlier (22) |
Kevin Lin (17) | Stanisław Pitucha (16) | Anatoly Vorobey (15) | Brian Aker (15) |
Steve Yen (15) | Tomash Brechko (12) | minkikim89 (12) | Tharanga Gamaethige (9) |
Tomas Korbar (7) | hachi (7) | Aaron Stone (6) | Dan McGee (6) |
Fei Hu (6) | Guillaume Delacour (6) | Kanak Kshetri (6) | Ola Jeppsson (6) |
Steve Wills (6) | Daniel Schemmel (5) | Evan Martin (5) | Matt Ingenthron (5) |
Miroslav Lichvar (5) | Peter (Stig) Edwards (5) | Sailesh Mukil (5) | xuesenliang (5) |
Chris Goffinet (4) | Craig Andrews (4) | David CARLIER (4) | Eric McConville (4) |
Jefty Negapatan (4) | Remi Collet (4) | Victor Kirkebo (4) | Andrei Nigmatulin (3) |
Calin Iorgulescu (3) | Cameron Norman (3) | Daniel Pañeda (3) | Eric Lambert (3) |
Fabrice Fontaine (3) | Jay Grizzard (3) | Paul Furtado (3) | sergiocarlos (3) |
Antony Dovgal (2) | Bernhard M. Wiedemann (2) | Brion Vibber (2) | Carl Myers (2) |
Clint Byrum (2) | Colin Pitrat (2) | Cosimo Streppone (2) | David Bremner (2) |
Dmitry Volodin (2) | Doug Porter (2) | Eric Hodel (2) | Evan Miller (2) |
Giovanni Bechis (2) | Iqram Mahmud (2) | J. Grizzard (2) | Jason CHAN (2) |
Jay Bonci (2) | Jean-Francois BUSTARRET (2) | Josh Soref (2) | Khem Raj (2) |
Linkerist (2) | Mat Hostetter (2) | Monty Taylor (2) | Olof Nord (2) |
Paolo Borelli (2) | Qu Chen (2) | Ricky Zhou (2) | Shiv Nagarajan (2) |
Tianon Gravi (2) | Tyson Andre (2) | Vadim Pushtaev (2) | pkarumanchi9 (2) |
祁冰 (2) | Adam Chainz (1) | Adam Dixon (1) | Adam Szkoda (1) |
Adam Thomason (1) | Alex Leone (1) | Alexander Pyhalov (1) | Ali Saidi (1) |
Alwayswithme (1) | Andre Azevedo Pinto (1) | Andrew Drake (1) | Andrew Glinskiy (1) |
Andrey Niakhaichyk (1) | Anthony Ryan (1) | Artur Bergman (1) | Baptiste Mille-Mathias (1) |
Ben Evans (1) | Caleb Shay (1) | CaptTofu (1) | Chang Song (1) |
Charmander (1) | Chen-Yu Tsai (1) | Clinton Webb (1) | Dagobert Michelsen (1) |
Dan Christian (1) | Daniel Byrne (1) | David Bohman (1) | David J. M. Karlsen (1) |
David Oliveira (1) | David Phillips (1) | David Schoen (1) | Dmitry Isaykin (1) |
Don MacAskill (1) | Eiichi Tsukata (1) | Eli Bingham (1) | Elizabeth Mattijsen (1) |
Evan Klitzke (1) | Fangrui Song (1) | Filipe Laborde (1) | Fordy (1) |
Fumihiro Ito (1) | Gabe Van Engel (1) | Gabriel A. Samfira (1) | Gleicon Moraes (1) |
Gordon Franke (1) | Grant Mathews (1) | Gregor Jasny (1) | Guido Iaquinti (1) |
Hemal Shah (1) | Hervé Beraud (1) | Huzaifa Sidhpurwala (1) | Iain Wade (1) |
Ian Miell (1) | Iliya (1) | James Cohen (1) | Jamie McCarthy (1) |
Jason Titus (1) | Jeff Lawson (1) | Jeremy Sowden (1) | Joe Orton (1) |
Johan Bergström (1) | John Leslie (1) | Jon Jensen (1) | Jonathan Bastien-Filiatrault (1) |
Jonathan Steinert (1) | Josh Kupershmidt (1) | Juliy V. Chirkov (1) | Junji Hashimoto (1) |
Jørgen Austvik (1) | Kenneth Steele (1) | Keyur (1) | Kleber (1) |
LSmithx2 (1) | Levente Polyak (1) | Lisa Seelye (1) | Léon Brocard (1) |
Maksim Zhylinski (1) | Manish Katiyar (1) | Mark Hagger (1) | Martin Tzvetanov Grigorov (1) |
Mate Borcsok (1) | Mathieu CARBONNEAUX (1) | Matt Fowles Kulukundis (1) | Matthew Shafer (1) |
Mattias Geniar (1) | Maxim Dounin (1) | Menghan (1) | Michael Alan Dorman (1) |
Mike Dillon (1) | Miklos Vajna (1) | Natanael Copa (1) | Nate (1) |
Nathan Neulinger (1) | Nick (1) | Nick Frost (1) | Ori Shalev (1) |
Oskari Saarenmaa (1) | Patrice Duroux (1) | Paul Querna (1) | Peter van Dijk (1) |
Piotr Balcer (1) | Prudhviraj K (1) | Qian Li (1) | Ramasai (1) |
Raphael Isemann (1) | Richard Russo (1) | River Tarnell (1) | Roman Mueller (1) |
Ryan McCullagh (1) | Ryan T. Dean (1) | Ryan Tomayko (1) | Saman Barghi (1) |
Sergei Trofimovich (1) | Sergio Durigan Junior (1) | Sharif Nassar (1) | Simon Liu (1) |
Sjon Hortensius (1) | Sridhar Samudrala (1) | Steve Peters (1) | Tao Hui (1) |
Ted Schundler (1) | Theo Najim (1) | Thomas van Gulick (1) | Tim Yardley (1) |
Tom Stellard (1) | Tomas Kalibera (1) | Torsten Foertsch (1) | Vladimir (1) |
Wing Lian (1) | Yongyue Sun (1) | Zheng Gu (1) | akisssa (1) |
bitground (1) | clark.kang (1) | githublvv (1) | hayashier (1) |
hiracy (1) | iqr4m (1) | js (1) | jwbee (1) |
kenvifire (1) | kokke (1) | kun (1) | liu bo (1) |
liwenlong05 (1) | mckelvin (1) | mdl (1) | meteorgan (1) |
miwasson (1) | neal-zhu (1) | nirvanazc (1) | phantom9999 (1) |
prudhvi (1) | q66 (1) | theblop (1) | tom (1) |
wangkang-xy (1) | yuryur (1) | zhoutai (1) | 伊藤洋也 (1) |