Meine Blog-Beiträge

Was ist Memcached?

Was ist Memcached?


Memcached ist ein Open Source Distributed Caching System. Wird verwendet, um dynamische Webanwendungen zu beschleunigen, indem die Datenbanklast reduziert wird. Mit anderen Worten, jede Datenbank fügt dem Server eine zusätzliche Last hinzu, wenn die Anforderung gestellt wird. Memcached reduziert die Last, indem Datenobjekte im dynamischen Speicher gespeichert werden (man denke an sie als Kurzzeitspeicher für Anwendungen). Memcached speichert Daten basierend auf Schlüssel-Wert-Paaren für kleine Zeichenfolgen oder Objekte:

  • Ergebnisse von Datenbankaufrufen
  • API-Aufrufe
  • Erstellen einer Seite

Memcached besteht aus vier Hauptkomponenten. Diese Komponenten ermöglichen es dem Client und dem Server, gemeinsam zwischengespeicherte Daten so effizient wie möglich bereitzustellen:

  1. Client-Software : Eine Liste der verfügbaren Memcached-Server wird angezeigt
  2. Clientbasierter Hashalgorithmus : Wählt einen Server basierend auf "Key" aus
  3. Serversoftware : Speichert Werte und Schlüssel in einer internen Hashtabelle
  4. LRU : Bestimmt, wann alte Daten verworfen oder der Speicher wiederverwendet wird

Wie funktioniert memcached?

Wie bereits erwähnt, besteht Memcached aus vier Hauptkomponenten, und diese Komponenten sind Elemente, die datenspeicherung und -erfassung ermöglichen. Jedes Element    besteht aus Schlüssel- und Ablaufzeit und Rohdaten. Die oberste Ebene von Memcached funktioniert wie folgt:

  1. Der Client fordert eine Datenmenge an, die Memcached überprüft, um festzustellen, ob sie im Cache gespeichert sind.
  2. Hier sind zwei mögliche Ergebnisse:
  3. Wenn die Daten im Cache gespeichert sind: Gibt die Daten von Memcached zurück (es muss die Datenbank nicht überprüft werden).
  4. Wenn die Daten nicht im Cache gespeichert sind: Abfragen ruft die Datenbank die Daten ab und speichert sie dann in Memcached.
  5. Wenn Informationen geändert werden oder ein Element abläuft, aktualisiert Memcached seinen Cache, um sicherzustellen, dass neue Inhalte an den Client weitergeleitet werden.

Ein typisches Setup verfügt über mehrere Memcached-Server und viele Clients. Clients verwenden einen Hashalgorithmus, um zu bestimmen, welcher Memcached-Speicherserver verwendet werden soll, wodurch die Auslastung bereitgestellt wird. Der Server berechnet dann eine zweite Schlüsselkassette, um zu bestimmen, wo der entsprechende Wert in einer internen Hashtabelle gespeichert werden soll. Hier sind einige wichtige Punkte zur memcached Architektur:

  • Daten werden nur an einen Server gesendet.
  • Server geben keine Daten gemeinsam.
  • Server behalten Werte im RAM bei. Wenn ram abläuft, wird der älteste Wert verworfen.



Diesen Artikel teilen


Kommentare (0)

Kommentar