Mit der kontinuierlichen Weiterentwicklung des Internets steigt die Anzahl der Website-Besuche. Um die Verfügbarkeit und Leistung der Website sicherzustellen, sind Caching, Verteilung und Lastausgleich zu wesentlichen Technologien geworden. Bei der PHP-Entwicklung ist es eine große Herausforderung, die Cache-Verteilung und den Lastausgleich zu erreichen. In diesem Artikel stellen wir verteiltes Caching auf Basis von Redis und Memcached sowie Lastausgleich auf Basis von Nginx vor und stellen spezifische Codebeispiele bereit, um PHP-Entwicklern dabei zu helfen, diese Technologien besser zu verstehen und anzuwenden.
1. Verteiltes Caching basierend auf Redis und Memcached
Redis und Memcached sind beide häufig verwendete Caching-Systeme und unterstützen beide verteiltes Caching. Im Folgenden wird erläutert, wie Sie mit Redis und Memcached verteiltes Caching implementieren.
Der verteilte Cache von Redis wird über einen Cluster implementiert. Er verfügt hauptsächlich über die folgenden Funktionen:
Das Folgende ist ein Beispiel für die Verwendung von Redis zur Implementierung von verteiltem Caching:
1.1 Installieren Sie die Redis-Erweiterung
Zuerst müssen wir die Redis-Erweiterung installieren. Führen Sie den folgenden Befehl auf dem Ubuntu-System aus:
$ sudo apt-get install php-redis
Führen Sie den folgenden Befehl auf dem CentOS-System aus:
$ sudo yum install php-redis
1.2 Erstellen Sie eine Redis-Verbindung.
Wir können den folgenden Code verwenden, um eine Redis-Verbindung zu erstellen:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379);
Hier haben wir die Standard-Hostadresse verwendet und Die Portnummer muss entsprechend der tatsächlichen Situation während der tatsächlichen Verwendung geändert werden.
1.3 Daten speichern
Wir können den folgenden Code zum Speichern von Daten verwenden:
$key = 'name'; $value = 'tom'; $redis->set($key, $value);
1.4 Daten abrufen
Wir können den folgenden Code verwenden, um Daten abzurufen:
$key = 'name'; $value = $redis->get($key);
Der verteilte Cache von Memcached ist es wird durch einen Cluster implementiert, der aus mehreren Maschinen besteht. Es verfügt hauptsächlich über die folgenden Funktionen:
Hier ist ein Beispiel für die Verwendung von Memcached zur Implementierung von verteiltem Caching:
2.1 Memcached-Erweiterung installieren
Wir können den folgenden Befehl verwenden, um die Memcached-Erweiterung zu installieren:
$ sudo apt-get install php-memcached
oder
$ sudo yum install php-memcached
2.2 Erstellen Sie eine Memcached-Verbindung
Wir Sie können den folgenden Code verwenden, um eine Memcached-Verbindung zu erstellen:
$memcached = new Memcached(); $memcached->addServer('127.0.0.1', 11211);
Hier verwenden wir die Standard-Hostadresse und Portnummer, die entsprechend der tatsächlichen Situation bei der tatsächlichen Verwendung geändert werden müssen.
2.3 Daten speichern
Wir können den folgenden Code verwenden, um Daten zu speichern:
$key = 'name'; $value = 'tom'; $memcached->set($key, $value);
2.4 Daten abrufen
Wir können den folgenden Code verwenden, um Daten abzurufen:
$key = 'name'; $value = $memcached->get($key);
2. Lastausgleich basierend auf Nginx
Nginx ist ein Hochleistungs-HTTP- und Reverse-Proxy-Server, unterstützt mehrere Lastausgleichsalgorithmen wie Round Robin, Weighted Round Robin, IP-Hashing usw. Im Folgenden wird die Verwendung von Nginx zum Implementieren des Lastausgleichs vorgestellt und spezifische Codebeispiele bereitgestellt.
Wir können Nginx mit dem folgenden Befehl installieren:
Führen Sie den folgenden Befehl im Ubuntu-System aus:
$ sudo apt-get install nginx
Führen Sie den folgenden Befehl im CentOS-System aus:
$ sudo yum install nginx
Die Der nächste Schritt besteht darin, die Nginx-Konfiguration zu konfigurieren. Wir müssen die Nginx-Konfigurationsdatei bearbeiten, die sich normalerweise unter /etc/nginx/nginx.conf befindet:
user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; multi_accept on; } http { upstream backend { server 192.168.1.1:8080; # 服务器1 server 192.168.1.2:8080; # 服务器2 server 192.168.1.3:8080; # 服务器3 } server { listen 80 default_server; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
Die obige Konfigurationsdatei gibt drei Server und Proxy-HTTP-Anfragen an jeden dieser drei Server an. Dabei ist Backend der Name des Proxyservers und kann nach Bedarf geändert werden.
Wir können den folgenden Befehl verwenden, um Nginx zu starten:
Führen Sie den folgenden Befehl im Ubuntu-System aus:
$ sudo systemctl start nginx
Führen Sie den folgenden Befehl im CentOS-System aus:
$ sudo systemctl start nginx
Verwenden Sie den Browser, um Greifen Sie auf http://localhost zu. Wenn Sie eine normale Seite sehen, bedeutet dies, dass der Lastausgleich gestartet wurde.
Fazit
In diesem Artikel wird erläutert, wie Sie mit Redis und Memcached verteiltes Caching implementieren und wie Sie Nginx zum Implementieren des Lastausgleichs verwenden, und es werden spezifische Codebeispiele bereitgestellt. Wir können geeignete Technologien und Algorithmen basierend auf den tatsächlichen Anforderungen auswählen, um die Systemleistung und -verfügbarkeit zu verbessern.
Das obige ist der detaillierte Inhalt vonVerteilung und Lastausgleich des PHP-Entwicklungscache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!