www.wikidata.de-de.nina.az
Memcached ˈmɛm kaeʃ tː ist ein unter der BSD Lizenz veroffentlichter Cache Server zum allgemeinen Hinterlegen und Abholen von Daten aus dem Arbeitsspeicher Die Software findet hauptsachlich Verwendung fur Internetseiten die Daten aus Datenbanksystemen zeitweise auf dem Server hinterlegen Sie dient bei vielen dynamischen Websites mit Datenbankanbindung zur Leistungsverbesserung indem durch die Vorhaltung von wichtigen Daten im Arbeitsspeicher Festplattenzugriffe vermieden werden beziehungsweise der Aufruf von aufwandigen und haufig verwendeten Datenbankabfragen insbesondere SELECT Anweisungen minimiert wird MemcachedBasisdatenEntwickler Danga InteractiveErscheinungsjahr 22 Mai 2003Aktuelle Version 1 6 22 1 16 Oktober 2023 Betriebssystem Unix Derivate WindowsProgrammiersprache C 2 Kategorie Cache ServerLizenz 3 Klausel BSD 3 deutschsprachig neinmemcached org Inhaltsverzeichnis 1 Geschichte 2 Funktionsweise 3 Beispiele 3 1 PHP 3 2 Perl 3 3 Java 4 Missbrauch als DDoS Werkzeug 5 Weblinks 5 1 Programmbibliotheken 5 2 Software die memcached verwendet 6 EinzelnachweiseGeschichte BearbeitenMemcached wurde ursprunglich von der Firma Danga Interactive fur das Internetportal LiveJournal entwickelt Bis zum 15 Juni 2003 stand die Software unter der GPL als die Lizenzierung zur BSD Lizenz geandert wurde Mittlerweile ist der Einsatz der Software weit verbreitet und dient beispielsweise allein bei Facebook und der Wikipedia zur Bedienung von Milliarden von Nutzern im Monat Funktionsweise BearbeitenDie Verbindung zu einem solchen Server findet uber die Protokolle TCP und IP statt Daten werden mit einem eindeutigen Schlusselwert versehen vergleichbar mit dem Namen einer Variablen und als Zeichenketten im Arbeitsspeicher abgelegt Um das Abspeichern von Datentypen wie Ganz oder Fliesskommazahlen sowie Objekten zu ermoglichen werden diese Daten durch die meisten Programmbibliotheken im Vorfeld serialisiert Daten konnen entweder dauerhaft oder zeitweise abgespeichert werden Fur den letzteren Fall ubernimmt memcached das Loschen automatisch Beispiele BearbeitenPHP Bearbeiten Verbindung herstellen memcached memcache connect localhost 11211 or die FEHLER Die Verbindung zum Server ist fehlgeschlagen Die Zeichenkette Hallo unter der Bezeichnung wert1 fur 1800 Sekunden abspeichern memcached gt add wert1 Hallo false 1800 Die Zeichenkette Hallo nochmal unter der Bezeichnung wert2 dauerhaft Wert 0 in komprimierter Form abspeichern memcached gt add wert2 Hallo nochmal MEMCACHE COMPRESSED 0 wert1 loschen memcached gt delete wert1 wert2 mit dem Ganzzahlenwert 5979 ersetzen und fur 23979 Sekunden unkomprimiert abspeichern Vorhandene Werte mussen mit replace uberschrieben werden Eine Verwendung von add wurde in einem solchen Fall zu einem Fehler fuhren memcached gt replace wert2 5979 false 23979 wertObjekt fur 10 Sekunden mit dem Wert einer Instanz der PHP Klasse stdClass anlegen memcached gt add wertObjekt new stdClass false 10 das gespeicherte Objekt von wertObjekt ausgeben echo var export memcached gt get wertObjekt true samtliche Statistiken die der Server zur Verfugung stellt ausgeben var dump memcached gt getStats alle Werte loschen memcached gt flush Verbindung wieder schliessen memcached gt close Perl Bearbeiten use Modern Perl use Cache Memcached Fast neues memcached Objekt erzeugen my cache Cache Memcached Fast gt new servers gt 127 0 0 1 11211 192 168 50 55 11211 ein einfaches key value Paar speichern cache gt set key value komplexe Datenstrukturen speichern cache gt set key name gt John age gt 22 gespeicherte Daten abfragen my data cache gt get key einen Datensatz loschen cache gt delete key alle Werte loschen cache gt flush all Verbindung schliessen cache gt disconnect all Java Bearbeiten Liste fur die Server erstellen List lt InetSocketAddress gt memcachedServers new ArrayList lt InetSocketAddress gt memcachedServers add new InetSocketAddress localhost 11211 Verbindung herstellen MemcachedClient memcachedClient new MemcachedClient memcachedServers Die Zeichenkette Hallo fur eine Stunde 3600 Sekunden unter der Bezeichnung wert1 abspeichern memcachedClient add wert1 3600 Hallo wert1 loschen memcachedClient delete wert1 alle Werte loschen memcachedClient flush Missbrauch als DDoS Werkzeug BearbeitenAus dem offentlichen Internet erreichbare memcached Server konnen von Angreifern verwendet werden um Denial of Service Angriffe zu verstarken Da die Antwort auf eine memcached Anfrage in der Regel bedeutend grosser als die Anfrage ist kann der Angreifer wie bei einer DNS Amplification Attack die Menge der an das Angriffsziel geschickten Daten erhohen Diese Angriffstechnik wurde bei einer Attacke auf github com Ende Februar 2018 genutzt um die bis dahin hochste bei einem DDoS Angriff beobachtete Datenrate zu erreichen 4 Nur bei memcached Servern die hinter einer Firewall stehen ist ein Missbrauch ausgeschlossen Die Identifizierung der ungeschutzten Server wird nach Experteneinschatzung noch mehrere Monate dauern 5 Weblinks BearbeitenOffizielle Webprasenz Tim Schurmann Verteiltes Caching mit memcached In ADMIN Magazin Abgerufen am 13 November 2016 Programmbibliotheken Bearbeiten ASP NET C Java Perl PHP Python Ruby GoSoftware die memcached verwendet Bearbeiten MediaWiki Memcached Functions for MySQL MySQL Schnittstelle pgmemcached PostgreSQL Schnittstelle Drupal Ruby on Rails Symfony CodeIgniterEinzelnachweise Bearbeiten Release 1 6 22 16 Oktober 2023 abgerufen am 20 Oktober 2023 InfoQ JGroups Implementation of Memcached Supports Failover and JMX abgerufen am 23 Juni 2017 github com abgerufen am 8 Juli 2018 Rekord DDoS Attacke mit 1 35 Terabit pro Sekunde gegen Github com In heise Security Abgerufen am 5 Marz 2018 deutsch Diese DDoS Attacken brechen alle Rekorde Spiegel Online 8 Marz 2018 abgerufen am 9 Marz 2018 Abgerufen von https de wikipedia org w index php title Memcached amp oldid 232529646