memcached

memcached
Memcached
Entwickler Danga Interactive
Aktuelle Version 1.4.5
(3. April 2010)
Betriebssystem Unix-Derivate, Windows
Kategorie Cache-Server
Lizenz BSD-Lizenz
Deutschsprachig nein
memcached.org

memcached [ˈmɛm.kæʃ.diː] ist ein unter der BSD-Lizenz veröffentlichter Cache-Server zum allgemeinen Hinterlegen und Abholen von Daten aus dem Arbeitsspeicher. Die Software findet hauptsächlich Verwendung für Internetseiten, die Daten aus Datenbanksystemen zeitweise auf dem Server hinterlegen. Es dient bei vielen dynamischen Websites mit Datenbankanbindung zur Leistungsverbesserung, indem durch die Vorhaltung von wichtigen Daten im Arbeitsspeicher Festplattenzugriffe erübrigt werden beziehungsweise der Aufruf von (relativ) aufwändigen und häufig verwendeten Datenbankabfragen (insbesondere SELECT-Statements) minimiert wird.

Inhaltsverzeichnis

Geschichte

memcached wurde ursprünglich von der Firma Danga Interactive für das Internetportal LiveJournal entwickelt. Bis zum 15. Juni 2003 stand die Software unter der GPL, als die Lizenzierung zur BSD-Lizenz geändert wurde. Mittlerweile ist der Einsatz der Software weit verbreitet und dient beispielsweise allein bei Facebook der Abfertigung von hunderten Millionen Nutzern.

Funktionsweise

Die Verbindung zu einem solchen Server findet über die Protokolle TCP und IP statt. Daten werden mit einem eindeutigen Schlüsselwert versehen (vergleichbar mit dem Namen einer Variable) und als Zeichenketten im Arbeitsspeicher abgelegt. Um das Abspeichern von Datentypen wie Ganz- oder Fließkommazahlen, sowie Objekten zu ermöglichen, werden diese Daten durch die meisten Programmbibliotheken im Vorfeld serialisiert.

Daten können entweder dauerhaft oder zeitweise abgespeichert werden. Für den letzteren Fall übernimmt memcached das Löschen automatisch.

Beispiele

PHP

// Verbindung herstellen
$memcached = @memcache_connect('localhost', 11211)
             or die('FEHLER! Die Verbindung zum Server ist fehlgeschlagen!');
 
// Die Zeichenkette 'Hallo' unter der Bezeichnung 'wert1'
// für 1800 Sekunden abspeichern
$memcached->add('wert1', 'Hallo', false, 1800);
 
// Die Zeichenkette 'Hallo, nochmal' unter der Bezeichnung 'wert2'
// dauerhaft (Wert 0) in komprimierter Form abspeichern
$memcached->add('wert2', 'Hallo, nochmal', MEMCACHE_COMPRESSED, 0);
 
// 'wert1' löschen
$memcached->delete('wert1');
 
// 'wert2' mit dem Ganzzahlenwert 5979 ersetzen und für 23979 Sekunden
// unkomprimiert abspeichern. Vorhandene Werte müssen mit replace() überschrieben
// werden. Eine Verwendung von add() würde in einem solchen Fall zu einem
// Fehler führen!
$memcached->replace('wert2', 5979, false, 23979);
 
// 'wertObjekt' für 10 Sekunden mit dem Wert einer Instanz der PHP-Klasse
// stdClass anlegen
$memcached->add('wertObjekt', new stdClass(), false, 10);
 
// das gespeicherte Objekt von 'wertObjekt' ausgeben
echo var_export($memcached->get('wertObjekt'), true);
 
// sämtliche Statistiken, die der Server zur Verfügung stellt, ausgeben
var_dump($memcached->getStats());
 
// alle Werte löschen
$memcached->flush();
 
// Verbindung wieder schliessen
$memcached->close();

Perl

use Modern::Perl;
use Cache::Memcached::Fast;
 
# neues memcached Objekt erzeugen
#
my $cache = Cache::Memcached::Fast->new({ servers => [ '127.0.0.1:11211', '192.168.50.55:11211' ] });
 
# ein einfaches key/value Paar speichern
#
$cache->set( 'key', 'value' );
 
# komplexe Datenstrukturen speichern
#
$cache->set( 'key', { name => 'John', age => 22 } );
 
# gespeicherte Daten abfragen
#
my $data = $cache->get( 'key' );
 
# einen Datensatz löschen
#
$cache->delete( 'key' );
 
# alle Werte löschen
#
$cache->flush_all;
 
# Verbindung schliessen
#
$cache->disconnect_all;

Weblinks

Programmbibliotheken

Software, die memcached verwendet


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Memcached — Developer(s) Danga Interactive Initial release May 22, 2003 (2003 05 22) Stable release 1.4.10 / November 9, 2011; 3 days ago (2011 11 09 …   Wikipedia

  • memcached — Тип memcached Разработчик Danga Interactive Написана на C[1] Операционная система Кроссплатформенное ПО Последняя версия 1.4.14 …   Википедия

  • Memcached — Тип memcached Разработчик Danga Interactive Написана на C[1] ОС Кроссплатформенное ПО …   Википедия

  • Memcached — est un système d usage général servant à gérer la mémoire cache distribuée. Il est souvent utilisé pour augmenter la vitesse de réponse des sites web créés à partir de bases de données. Il gère les données et les objets en RAM de façon à réduire… …   Wikipédia en Français

  • Memcached — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar al autor pri …   Wikipedia Español

  • Membase — Developer(s) Couchbase (merged from NorthScale), Zynga, NHN Stable release 1.7.1 / July 26, 2011; 2 months ago (2011 07 26) Written in C++, Erlang …   Wikipedia

  • Brad Fitzpatrick — Bradley Joseph Brad Fitzpatrick (born February 5, 1980 in Iowa), often seen on the Internet under the nickname bradfitz, is an American programmer. He is best known as the creator of LiveJournal and is the author of a variety of free software… …   Wikipedia

  • Сравнение каркасов веб-приложений — Это сравнительная таблица фреймворков веб приложений. Содержание 1 Фреймворки 1.1 ASP.NET 1.2 C++ 1.3 ColdFusion Markup Language (CFML) …   Википедия

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

  • MemcacheDB — Stable release 1.2.1 / December 25, 2008 Operating system Cross platform Type distributed memory caching system License BSD License …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”