Dieser Artikel stellt Ihnen hauptsächlich das Funktionsprinzip von Memcached im Detail vor. Sie können sich auch das Memcached-Video-Tutorial oder das Memcached-Handbuch ansehen.
1. Einführung:
Memcache ist ein leistungsstarkes verteiltes Speicherobjekt-Cache-System, das zum Speichern verschiedener Formatdaten verwendet werden kann Bilder, Videos, Dateien und Datenbanksuchergebnisse. Einfach ausgedrückt werden die Daten in den Speicher abgerufen und dann aus dem Speicher gelesen, wodurch die Lesegeschwindigkeit erheblich verbessert wird. Memcached läuft auf einem oder mehreren Servern als Daemon und empfängt jederzeit Client-Verbindungen und -Vorgänge.
2. Funktionen:
1. Es gibt keine Begrenzung für die Menge der Artikeldaten, die in Memcached gespeichert werden können, solange genügend Speicher vorhanden ist.
2. Der maximale Speicher, der von einem einzelnen Memcached-Prozess verwendet wird, beträgt 2G. Um mehr Speicher zu verwenden, können Sie mehrere Memcached-Prozesse auf mehreren Ports öffnen.
3 Die maximale Datenablaufzeit beträgt 30 Tage permanent Es läuft zu diesem Zeitpunkt auch ab, Konstante REALTIME_MAXDELTA
4. Die maximale Schlüssellänge beträgt 250 Bytes und kann nicht gespeichert werden, wenn sie größer als diese Länge ist. Sie wird durch die Konstante KEY_MAX_LENGTH 250
5 gesteuert. Die maximale Datenmenge für ein einzelnes Element beträgt 1 MB, und Daten, die 1 MB überschreiten, werden nicht gespeichert, gesteuert durch die Konstante POWER_BLOCK 1048576,
6. Die maximale Anzahl gleichzeitiger Verbindungen beträgt 200 , bestanden
Gesteuert durch freetotal in conn_init() beträgt die maximale Anzahl weicher Verbindungen 1024, über Settings.maxconns=1024
Steuern Sie die Parameter im Zusammenhang mit der Platzbelegung: Settings.factor=1.25, Settings.chunk_size=48,
Beeinflusst die Datenbelegung und Stepping-Methode der Platte
8. memcached ist ein nicht blockierender Socket-Kommunikationsdienst, der auf der libevent-Bibliothek basiert. Aufgrund der nicht blockierenden Kommunikation ist die Lese- und Schreibgeschwindigkeit des Speichers sehr hoch.
9.memcached ist in Server und Client unterteilt. Es kann in einer Vielzahl verteilter Dienste verwendet werden.
10. Memcached ist als kleine Datenverteilungsplattform sehr effektiv.
11.memcached hat eine Eins-zu-eins-Entsprechung zwischen Schlüsseln und Werten. Die Standardschlüssellänge darf 128 Zeichen nicht überschreiten.
Abschnitt, die Standardwertgröße beträgt 1 MB, was einer Platte entspricht. Wenn Sie einen Wert von 2 MB (kontinuierlich) speichern möchten, können Sie nicht zwei Platten verwenden, da die beiden Platten nicht aufeinander folgen und nicht im Speicher gespeichert werden können.
Für die Speicherung ist es erforderlich, die Größe der Platten zu ändern. Wenn mehrere Schlüssel und Werte gespeichert werden, werden andere Daten nicht gespeichert, auch wenn die Platten nicht vollständig verwendet werden.
12. Stellen Sie Daten von geringem Wert ein, sonst gehen alle Daten verloren
3. Verteilte Anwendungen. Da Memcached selbst auf einem verteilten System basiert, eignet es sich besonders für große verteilte Systeme.
2. Datenbank-Frontend-Cache. Datenbanken sind oft der Flaschenhals von Website-Systemen. Große gleichzeitige Zugriffe auf die Datenbank führen häufig dazu, dass der Website-Speicher überläuft. Natürlich können wir auch den Caching-Mechanismus von Hibernate nutzen. Memcached basiert jedoch auf der Verteilung und kann unabhängig von der Website-Anwendung selbst sein, sodass es für große Websites besser geeignet ist, Anwendungen aufzuteilen.
3. Datenaustausch zwischen Servern. Beispielsweise teilen wir das Anmeldesystem und das Abfragesystem der Website in zwei Anwendungen auf, platzieren sie auf verschiedenen Servern und gruppieren sie. Wie werden dann die Anmeldeinformationen vom Anmeldesystemserver mit dem Abfragesystem synchronisiert, nachdem sich der Benutzer angemeldet hat? Server? Wolltuch? Zu diesem Zeitpunkt können wir memcached verwenden. Das Anmeldesystem speichert die Anmeldeinformationen zwischen, und das Abfragesystem kann die Anmeldeinformationen abrufen, genau wie beim Abrufen lokaler Informationen.
4. Unzutreffende Anlässe
Für Anwendungen, die keine „Verteilung“ erfordern, keine gemeinsame Nutzung erfordern oder einfach klein genug sind, um nur einen Server zu haben, bringt memcached keine Vorteile im Gegenteil, es wird die Systemeffizienz verlangsamen, da die Netzwerkverbindung auch Ressourcen erfordert
Dieser Artikel hat einen gewissen Referenzwert, ich hoffe, er wird allen Bedürftigen helfen!
Das obige ist der detaillierte Inhalt vonEine detaillierte Einführung in das Funktionsprinzip von Memcached [Zusammenfassung]. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!