Dieser Artikel stellt Ihnen hauptsächlich das Funktionsprinzip von Memcached vor.
Das von Memcached verarbeitete Atom ist jedes (Schlüssel-Wert-)Paar (im Folgenden als KV-Paar bezeichnet). Der Schlüssel wird durch einen Hash-Algorithmus in einen Hash-Schlüssel umgewandelt, um die Suche, den Vergleich und das Hashing zu erleichtern so viel wie möglich. Gleichzeitig verwendet Memcached einen zweistufigen Hash, der über eine große Hash-Tabelle verwaltet wird.
Memcached besteht aus zwei Kernkomponenten: Server und Client. Bei einer Memcached-Abfrage ermittelt der Client zunächst den Server, auf dem sich das KV-Paar befindet, indem er den Hash-Wert des Schlüssels berechnet. Wenn der Server ermittelt ist, sendet der Client eine Abfrageanforderung an den entsprechenden Server, damit dieser die genauen Daten finden kann. Da zwischen ihnen keine Interaktion oder kein Multicast-Protokoll besteht, werden die Auswirkungen der Memcached-Interaktion auf das Netzwerk minimiert.
Zum Beispiel: Betrachten Sie das folgende Szenario, es gibt drei Clients, nämlich c1, c2, c3, und drei ms, nämlich s1, s2, s3:
Kv-Paar festlegen
c1 Ich möchte key=“com“, value=“iQiyi“ festlegen
c1 ruft die Serverliste ab, führt eine Hash-Konvertierung für den Schlüssel durch und bestimmt anhand des Hash-Werts den Serverstandort, an dem das KV-Paar gespeichert ist
s2 ist ausgewählt
c1 Mit s2 verbinden, s2 empfängt die Anfrage und speichert (key=“com“, value=“iQiyi“)
Holen Sie sich das KV-Paar
c3 möchte den Wert von erhalten key=“com“
c3 verwendet denselben Hash-Algorithmus zur Berechnung des Hash-Werts und stellt fest, dass der Wert von key="aa" auf s2 vorhanden ist
c3 stellt eine Verbindung zu s2 her und ruft value="iQiyi" von ab s2
Alle anderen Daten von c1, c2 und Anfragen von c3, die den Wert von key="com" erhalten möchten, werden an s2 gesendet
Wenn Sie mehr über Memcached erfahren möchten, können Sie folgen das Memcached-Video-Tutorial oder auf der chinesischen PHP-Website Memcached Manual .
Das obige ist der detaillierte Inhalt vonWie funktioniert Memcached?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!