Memcached-Methode zum Erstellen eines Cache-Servers

Memcached-Methode zum Erstellen eines Cache-Servers

Vorwort

Viele Webanwendungen speichern Daten in einem relationalen Datenbankmanagementsystem (RDBMS), aus dem der Anwendungsserver die Daten liest und im Browser anzeigt.

Wenn jedoch die Datenmenge zunimmt und die Zugriffe konzentrierter werden, kommt es zu erheblichen Auswirkungen, beispielsweise einer stärkeren Belastung des RDBMS, einer Verschlechterung der Datenbankantwort und Verzögerungen bei der Website-Anzeige.

Memcached/Redis ist ein leistungsstarker Cache-Server mit verteiltem Speicher, der die Ergebnisse von Datenbankabfragen zwischenspeichert und die Anzahl der Datenbankzugriffe reduziert, um die Geschwindigkeit und Skalierbarkeit von Anwendungen wie dem dynamischen Web zu erhöhen.

RDBMS steht für Relational Database Management System

1. Einleitung

1. NoSQL-Produkte: Redis, MongoDB, Memcached.

Begriffserklärung NOSQL: Nicht-relationale Datenbank

(1) Speichern von Daten in Form von Schlüssel-Wert-Paaren --- ( Schlüssel-Wert )

(2) Cache-Datenbank - Die Rolle des Cache-Servers: Beschleunigen Sie den Zugriff und entlasten Sie die Datenbank

2. Vorteile/Nachteile von NoSQL

Vorteil:
- Hohe Skalierbarkeit
- Verteiltes Rechnen
- niedrige Kosten
- Flexibilität der Architektur
- Keine komplizierten Beziehungen

Mangel:
- Keine Standardisierung
- Begrenzte Abfragemöglichkeiten (bisher)
- Die letztendlich konsistente Programmierung ist nicht intuitiv

Cache-Server-Funktion: Beschleunigen Sie den Zugriff und entlasten Sie die Datenbank

3. Der Unterschied zwischen relationalen und nicht relationalen Datenbanken:---------Häufig gestellte Interviewfragen

1. Lassen Sie uns zunächst verstehen, was eine relationale Datenbank ist.
Die typischste Datenstruktur einer relationalen Datenbank ist eine Tabelle, also eine Datenorganisation, die aus zweidimensionalen Tabellen und den Verbindungen zwischen ihnen besteht.
Vorteil:
1. Einfach zu warten: Alle verwenden eine Tabellenstruktur mit konsistentem Format.
2. Einfach zu verwenden: Die SQL-Sprache ist universell und kann für komplexe Abfragen verwendet werden;
3. Komplexe Operationen: Unterstützt SQL und kann für sehr komplexe Abfragen innerhalb einer Tabelle oder zwischen mehreren Tabellen verwendet werden.
Mangel:
1. Die Lese- und Schreibleistung ist relativ schlecht, insbesondere das effiziente Lesen und Schreiben großer Datenmengen.
2. Feste Tischstruktur, etwas weniger flexibel;
3. Hohe Anforderungen an gleichzeitiges Lesen und Schreiben. Bei herkömmlichen relationalen Datenbanken ist der Festplatten-E/A ein großer Engpass


2. Was ist eine nicht-relationale Datenbank?

Nicht-relationale Daten sind eine Sammlung strukturierter Datenspeichermethoden, bei denen es sich um Dokumente oder Schlüssel-Wert-Paare handeln kann.

Vorteil:
1. Flexibles Format: Das Format der gespeicherten Daten kann Schlüssel, Werte, Dokumente, Bilder usw. sein. Es ist flexibel einsetzbar und bietet ein breites Spektrum an Anwendungsszenarien, während relationale Datenbanken nur grundlegende Typen unterstützen.
2. Hohe Geschwindigkeit: NoSQL kann Festplatten oder Direktzugriffsspeicher als Träger verwenden, während relationale Datenbanken nur Festplatten verwenden können.
3. Hohe Skalierbarkeit;
4. Niedrige Kosten: NoSQL-Datenbanken sind einfach bereitzustellen und grundsätzlich Open-Source-Software.

Mangel:
1. Es wird keine SQL-Unterstützung bereitgestellt und die Lern- und Nutzungskosten sind hoch.
2. Keine Transaktionsverarbeitung;
3. Die Datenstruktur ist relativ komplex und es mangelt leicht an komplexen Abfragen.

2. zwischengespeichert

1. Funktionen

1. Integrierte Speichermethode ----------- Um die Leistung zu verbessern, werden die in Memcached gespeicherten Daten im integrierten Speicherspeicherplatz von Memcache gespeichert. Da die Daten nur im Speicher vorhanden sind, führt ein Neustart des Betriebssystems zum Verlust aller Daten.
2. Einfache Schlüssel-/Wertspeicherung--------------Der Server kümmert sich nicht um die Bedeutung und Struktur der Daten selbst, solange es sich um serialisierbare Daten handelt.

Das Speicherelement besteht aus vier Teilen: „Schlüssel, Ablaufzeit, optionales Flag und Daten“;

2. Service-Rahmenwerk

Prinzip

1. Überprüfen Sie, ob sich die Anforderungsdaten des Clients im Memcached befinden. Wenn ja, geben Sie die Anforderungsdaten direkt zurück, ohne Vorgänge in der Datenbank auszuführen. Die Pfadvorgänge sind ①②③⑦.

2. Wenn die angeforderten Daten nicht in Memcached sind, überprüfen Sie die Datenbank und geben Sie die aus der Datenbank erhaltenen Daten an den Client zurück. Speichern Sie gleichzeitig eine Kopie der Daten in Memcached (der Memcached-Client ist nicht verantwortlich und muss vom Programm eindeutig implementiert werden). Der Pfadvorgang ist ①②④⑤⑦⑥.

3. Halten Sie den Cache aktuell. Wenn sich die Daten ändern (z. B. wenn die Daten geändert oder gelöscht werden), sollten die Cache-Informationen synchron aktualisiert werden, um sicherzustellen, dass Benutzer keine alten Daten aus dem Cache abrufen.

3. Konfigurieren und installieren Sie Memcached

Wie viele Daten Memcache speichern kann, hängt davon ab, wie viel Speicher der Server selbst hat.

1. Installation - Bereiten Sie einen Server vor

[root@memcached ~]# yum installiere memcached -y
[root@memcached ~]# systemctl start memcached #Start

2. Ändern Sie die Konfigurationsdatei

[root@memcached ~]# vim /etc/sysconfig/memcached
PORT="11211" --- Abhörport, Standard ist 11211. Kann geändert werden USER="memcached" ----- Benutzer MAXCONN="1024" ----- Standard-Parallelität, kann geändert werden CACHESIZE="64" ------ Vorgegebener Speicher. Der Standardwert ist M
OPTIONS="" ----Abhörende Netzwerkadresse

Senden Sie dann die IP-Adresse an den Entwickler, der über die API-Schnittstelle eine Verbindung zu Memcached herstellt.
prüfen:

[root@memcached ~]# yum install -y telnet #Installiere telent
[root@memcached ~]# telnet 192.168.246.188 11211
Versuche 192.168.246.188 …
Verbunden mit 192.168.246.188.
Das Escape-Zeichen ist „^]“.
set name 0 60 9 #Setzen Sie den Schlüssel mit dem Namen name key mark bit (id number) expiration time size helloword #Der Wert von name STORED #Das Erscheinen von stopped bedeutet, dass die Speicherung erfolgreich war.
get name #Abfrageschlüsselwert VALUE name 0 9
Hallowort
ENDE
beenden ---Beenden

Parametererklärung:
Name: Der Name des Schlüssels wird von Ihnen selbst festgelegt
0: Schlüssel-ID-Nummer, muss sich von anderen Schlüsseln unterscheiden
60: Cache-Ablaufzeit in Sekunden, 0 bedeutet für immer
9: Maximale Zeichenfolgenlänge

Gründe für die Nichtverwendung: Der gespeicherte Datentyp ist einzigartig und die Daten können nur im Speicher gespeichert werden. Datenpersistenz kann nicht erreicht werden. Wenn der Server neu gestartet wird, verschwinden die Daten.

=================================================================
Erweiterung: Installieren Sie das PHP-Erweiterungsmodul zur Unterstützung von Memcached:
Installieren Sie php7.0

[root@memcached ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
[root@memcached ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@memcached ~]# yum -y installiere php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64 php70w-devel zlib-devel php70w-fpm libmemcached php70w-pecl-memcached
[root@memcached ~]# yum install -y make gcc zlib-devel libmemcached-devel git

Laden Sie die PHP Memcache-Erweiterung herunter

Installieren Sie nginx kurz und konfigurieren Sie die Yum-Quelle von nginx. Testen Sie den Zugriff auf die PHP-Seite.
[root@memcached ~]# vim /etc/nginx/conf.d/nginx.conf
Server {
 hören Sie 80;
 Servername localhost;
​
 Standort ~ \.php$ {
 root /usr/share/nginx/html;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $Dokumentstammsatz$fastcgi_script_name;
 fastcgi_params einschließen;
 }
}
PHP-Seite bearbeiten [root@memcached html]# vim /usr/share/nginx/html/index.php
<?php
phpinfo();
?>
Starten Sie nginx neu
Starten Sie php-fpm
Browserzugriff 

Dies ist das Ende dieses Artikels zum Erstellen eines Cache-Servers mit Memcached. Weitere relevante Inhalte zum Memcached-Cache-Server finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • NoSQL-Einführung: Warum NoSQL verwenden?
  • MySQL-Reihe: Grundlegende Konzepte der relationalen MySQL-Datenbank
  • Analyse der Unterschiede zwischen char und varchar in der MySQL-Datenbank und Verwendungsvorschläge
  • ASP Classic-Einführungstutorial zur Verwendung von SQL-Anweisungen in ASP
  • Verwenden des Osql-Tools zur Verwaltung der SQL Server Desktop Engine (MSDE 2000)-Anwendung – Einführung
  • Einführung in relationale und nicht-relationale Datenbanken

<<:  Detaillierte Erläuterung mehrerer Methoden zur Deduplizierung im Javascript-Array

>>:  Lernen wir JavaScript objektorientiert kennen

Artikel empfehlen

HTML-Meta erklärt

Einführung Der Meta-Tag ist ein Hilfstag im HEAD-...

Lösung für FEHLER 1366 bei der Eingabe von Chinesisch in MySQL

Beim Eingeben von Chinesisch in MySQL tritt der f...

RGB-Farbtabellensammlung

RGB-Farbtabelle Farbe Englischer Name RGB 16 Farb...

Beispielcode zur Implementierung eines gepunkteten Rahmen-Scrolleffekts mit CSS

Wir sehen oft einen coolen Effekt, wenn die Maus ...

jQuery implementiert Akkordeon-Kleinbuchstaben

Dieser Artikel gibt Ihnen den spezifischen Code v...

mysql 8.0.18 mgr-Installation und seine Umschaltfunktion

1. Systeminstallationspaket yum -y install make g...

Verwendung des Linux Dig-Befehls

Dig-Einführung: Dig ist ein Tool, das DNS einschl...

Verwendung des if-Urteils in HTML

Während der Django-Webentwicklung wird beim Schre...

So erstellen Sie ein Drag & Drop-Plugin mit benutzerdefinierten Vue-Direktiven

Wir alle kennen die Drag-and-Drop-Funktion von HT...

JavaScript zur Implementierung der Login-Schiebereglerüberprüfung

In diesem Artikelbeispiel wird der spezifische Ja...

Detaillierte Erläuterung der Verwendung des MySQL-Auswahl-Cache-Mechanismus

Der MySQL-Abfragecache ist standardmäßig aktivier...

MySQL-Startfehlerproblem und Szenarioanalyse

1. Komplettlösung 1. Problemanalyse und -lokalisi...