


über die Methode von Laravel, Redis zum Implementieren des Website-Cache-Lesens zu verwenden
Jun 13, 2018 am 09:46 AMDieser Artikel stellt Ihnen haupts?chlich die relevanten Informationen über die Verwendung von Redis zur Implementierung des Website-Cache-Lesens vor. Der Artikel stellt es im Detail anhand des Beispielcodes vor. Es hat einen gewissen Referenz-Lernwert für alle, die es brauchen und gemeinsam lernen.
Einführung in Redis
Redis ist vollst?ndig Open Source und kostenlos, entspricht dem BSD-Protokoll und ist leistungsstark Schlüsselwertdatenbank. Redis und andere Key-Value-
Caching-Produkte weisen die folgenden drei Merkmale auf: Redis unterstützt die Datenpersistenz, wodurch die Daten im Speicher auf der Festplatte verbleiben und beim Neustart zur Verwendung erneut geladen werden k?nnen.
Redis unterstützt nicht nur einfache Daten vom Typ Schlüsselwert, sondern bietet auch die Speicherung von Datenstrukturen wie Liste, Satz, Zset und Hash.
Redis unterstützt die Datensicherung, also die Datensicherung im Master-Slave-Modus.
Vorteile von Redis
Extrem hohe Leistung – Redis kann mit einer Geschwindigkeit von 110.000 Mal/s lesen . Die Schreibgeschwindigkeit betr?gt 81000 Mal/s.
Umfangreiche Datentypen – Redis unterstützt Datentypoperationen vom Typ Strings, Listen, Hashes, Mengen und geordnete Mengen für bin?re F?lle.
Atomar – Alle Operationen von Redis sind atomar, und Redis unterstützt auch die atomare Ausführung nach der Zusammenführung mehrerer Operationen.
Umfangreiche Funktionen – Redis unterstützt auch Publish/Subscribe, Benachrichtigungen, Schlüsselablauf und andere Funktionen.
So installieren Sie Redis
1. Ubuntu (da ich die virtuelle Maschine der Homestead-Umgebung verwende ist Ubuntu, daher habe ich nur diese Methode zur Installation verwendet)
Die offizielle Ubuntu-Installationsmethode
$sudo apt-get update $sudo apt-get install redis-server
Wegen meiner Website Das Laravel-Framework wird verwendet und Sie müssen die Composer-Methode verwenden, um
composer require predis/predis
zu installieren. Wenn Sie das Lumen-Mikro-Framework installieren, müssen Sie auch illuminate installieren /redis (5.2.*)
composer require illuminate/redis (5.2.*)
Konfiguration
Wenn Lumen ist installiert
//需要在bootstrap/app.php里面加入此段代碼 $app->register(Illuminate\Redis\RedisServiceProvider::class); $app->configure('database');
Redis kann als Hauptdatenbank verwendet werden, daher befinden sich die Konfigurationsinformationen von Redis in Laravel in config/database.php:
'redis' => [ 'cluster' => false, 'default' => [ 'host' => '127.0.0.1', 'port' => 6379, 'database' => 0, ], ],
Die Cluster-Option gibt an, ob Sharding zwischen mehreren Redis-Knoten durchgeführt werden soll. Hier haben wir nur einen Knoten im lokalen Test, also setzen wir ihn auf ?false“.
Die Standardoption gibt die standardm??ige Redis-Hostverbindung an. Hier teilen sich Redis und der Webserver einen Host, sodass der Host 127.0.0.1 und der standardm??ige Redis-Port 6379 ist.
Darüber hinaus unterstützt die Standardoption auch weitere Verbindungsparameter (falls erforderlich):
Parameters |
| Standardwert | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Host | Server-IP-Adresse/Host Name | 127.0.0.1 | |||||||||||||||||||||
Port | Portnummer, die vom Redis-Server abgeh?rt wird | 6379 td > | |||||||||||||||||||||
Passwort | Wenn der Server ein Authentifizierungspasswort erfordert | Verwenden Sie kein Passwort | |||||||||||||||||||||
Datenbank | Der beim Herstellen der Verbindung ausgew?hlte Datenbankindex | Es ist kein Index festgelegt | |||||||||||||||||||||
timeout | Timeout für die Verbindung zum Redis-Server | 5 Sekunden | |||||||||||||||||||||
read_write_timeout td> | Passiertes Timeout für Lese- und Schreibvorg?nge der Netzwerkverbindung | Systemstandard (auf -1 gesetzt, wenn das Timeout nicht begrenzt ist) |
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
Die Verbindung entspricht hier dem Standard-Host-Standard von Redis in der Konfiguration/Datenbankkonfiguration.
Nach Abschluss der obigen Konfiguration k?nnen wir Redis für den Datenzugriff im Anwendungscode verwenden.
Schauen Sie sich ein Beispiel an – Laravels MySQL ist mit Redis gepaart
Meine Idee ist, beim Lesen zuerst zum Cache zu gehen Wenn Sie es finden, haben Sie Glück. Wenn Sie es nicht finden k?nnen, gehen Sie zur Datenbank, um es zu suchen und in den Cache zu übertragen.if (Cache::has($key)){ //首先查尋cache如果找到 $values = Cache::get($>key); //直接讀取cache return $values; }else{ //如果cache里面沒有 $values = DB::select($sql); Cache::put($key,$value,$time); return $values; }Aber der Cache von Laravel bietet auch eine Erinnerungsfunktion
$values = Cache::remember($key,$time,function () { return DB::select($this->sql); });
Wenn zwischengespeichert. Gibt es Direktes Lesen und Zurückgeben. Wenn das Cache-Element nicht im Cache vorhanden ist, wird die an die Erinnerungsmethode zurückgegebene Schlie?ung ausgeführt und das Ergebnis der Schlie?ung im Cache gespeichert.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website. Verwandte Empfehlungen:
über die Bindungsoperationen von Laravel-Framework-Routen und -Controllern
Für den Lebenszyklus des Laravel-Frameworks und Prinzipanalyse
Das obige ist der detaillierte Inhalt vonüber die Methode von Laravel, Redis zum Implementieren des Website-Cache-Lesens zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Um die Textfehlerkorrektur und die Syntaxoptimierung mit AI zu realisieren, müssen Sie die folgenden Schritte ausführen: 1. W?hlen Sie ein geeignetes AI -Modell oder ein geeignetes AI -Modell oder ein geeignetes AI -Modell wie Baidu, Tencent API oder Open Source NLP -Bibliothek aus; 2. Rufen Sie die API über die Curl oder das Guzzle von PHP auf und verarbeiten Sie die Rückgabeergebnisse. 3.. Informationen zur Fehlerkorrektur in der Anwendung anzeigen und erm?glichen den Benutzern, zu w?hlen, ob sie angenommen werden sollen. 4. Verwenden Sie PHP-L und PHP_CODESNIFFER für die Syntaxerkennung und -codeoptimierung. 5. sammeln Sie kontinuierlich Feedback und aktualisieren Sie das Modell oder die Regeln, um den Effekt zu verbessern. Konzentrieren Sie sich bei der Auswahl von AIAPI auf die Bewertung von Genauigkeit, Reaktionsgeschwindigkeit, Preis und Unterstützung für PHP. Die Codeoptimierung sollte den PSR -Spezifikationen folgen, Cache vernünftigerweise verwenden, zirkul?re Abfragen vermeiden, den Code regelm??ig überprüfen und x verwenden

PHP sorgt für die Inventarabzugsatomizit?t durch Datenbanktransaktionen und Forupdate -Reihenschl?sser, um eine hohe gleichzeitige überverl?ssigkeit zu verhindern. 2. Multi-Plattform-Inventarkonsistenz h?ngt von zentraler Verwaltung und ereignisgesteuerter Synchronisation ab, die API/Webhook-Benachrichtigungen und Nachrichtenwarteschlangen kombiniert, um eine zuverl?ssige Datenübertragung sicherzustellen. 3. Der Alarmmechanismus sollte in verschiedenen Szenarien niedrige Lagerbest?nde, Null/Negativ -Inventar, unerwünschte Verkaufszyklen, Nachschubzyklen und abnormale Schwankungsstrategien festlegen und die Auswahl von Dingtalk, SMS oder E -Mail -Verantwortlichen gem?? der Dringlichkeit ausw?hlen, und die Alarminformationen müssen vollst?ndig und frei sein, um die Anpassung und die Vergewaltigungsreaktion zu erreichen.

Es gibt drei Hauptmethoden, um Umgebungsvariablen in PHP festzulegen: 1. Globale Konfiguration über php.ini; 2. durch einen Webserver (z. B. SetEnv von Apache oder FastCGI_Param von Nginx); 3. Verwenden Sie die Funktion Putenv () in PHP -Skripten. Unter ihnen eignet sich Php.ini für globale und selten ?ndernde Konfigurationen. Die Webserverkonfiguration eignet sich für Szenarien, die isoliert werden müssen, und Putenv () ist für tempor?re Variablen geeignet. Die Persistenz -Richtlinien umfassen Konfigurationsdateien (z. B. Php.ini oder Webserverkonfiguration), .env -Dateien werden mit der DOTENV -Bibliothek und dynamische Injektion von Variablen in CI/CD -Prozessen geladen. Sicherheitsmanagement sensible Informationen sollten hart codiert werden, und es wird empfohlen.

Der Konfigurations -Cache von Laravel verbessert die Leistung, indem alle Konfigurationsdateien in eine einzelne Cache -Datei zusammengeführt werden. Das Aktivieren von Konfigurations -Cache in einer Produktionsumgebung kann die E/A -Vorg?nge reduzieren und die Analyse bei jeder Anforderung an die Datei -Analyse beschleunigen, wodurch das Laden der Konfiguration beschleunigt wird. 1. Es sollte aktiviert werden, wenn die Anwendung bereitgestellt wird, die Konfiguration stabil ist und keine h?ufigen ?nderungen erforderlich sind. 2. Nachdem Sie die Konfiguration ?ndern k?nnen, müssen Sie PhPartiSanconFig: Cache erneut ausführen, um wirksam zu werden. 3. Vermeiden Sie die Verwendung dynamischer Logik oder Verschluss, die von Laufzeitbedingungen in der Konfigurationsdatei abh?ngen. 4. Bei Problembehebungsproblemen sollten Sie zuerst den Cache l?schen, die .env-Variablen und den Umrand-Cache überprüfen.

Um PHP -Container zur Unterstützung der automatischen Konstruktion zu erm?glichen, liegt der Kern in der Konfiguration des Continuous Integration (CI) -Prozesses. 1. Verwenden Sie Dockerfile, um die PHP -Umgebung zu definieren, einschlie?lich grundlegender Bild-, Erweiterungsinstallations-, Abh?ngigkeitsmanagement- und Berechtigungseinstellungen. 2. Konfigurieren Sie CI/CD-Tools wie GitLabci und definieren Sie die Erstell-, Test- und Bereitstellungsstadien über die Datei .gitlab-ci.yml, um automatische Konstruktion, Test und Bereitstellung zu erreichen. 3.. Integrieren Sie Testframeworks wie Phpunit, um sicherzustellen, dass die Tests automatisch nach Code?nderungen ausgeführt werden. 4. Verwenden Sie automatisierte Bereitstellungsstrategien wie Kubernetes, um die Bereitstellungskonfiguration durch die Datei bereitzustellen. 5. Dockerfile optimieren und mehrstufige Konstruktionen übernehmen

Laravels EloquentsCopes ist ein Tool, das die gemeinsame Abfragelogik in lokalem Umfang und globalem Umfang unterteilt. 1. Der lokale Bereich ist mit einer Methode definiert, die mit dem Umfang beginnt und muss explizit aufgerufen werden, z. B. Post :: ver?ffentlicht (); 2. Der globale Umfang wird automatisch auf alle Abfragen angewendet, h?ufig für Soft-L?schen oder Multi-Mieter-Systeme verwendet, und die Umfangsschnittstelle muss im Modell implementiert und registriert werden. 3. Das Zielfernrohr kann mit Parametern ausgestattet werden, z. B. nach Jahr oder Monat die Filterartikel, und entsprechende Parameter werden beim Aufrufen übergeben. 4. Achten Sie auf Namensschwerpunkte, Kettenaufrufe, vorübergehende Deaktivieren und Kombinationserweiterung, um die Klarheit und Wiederverwendbarkeit von Code zu verbessern.

CreateAhelpers.phpfileinapp/helpers withcustomfunctionssformatprice, isactiveroute, andisadmin.2.addtheFiletothe "Dateien" AbschnittOfComposer

W?hlen Sie die Protokollierungsmethode aus: In der frühen Phase k?nnen Sie den integrierten Fehler () für PHP verwenden. Wechseln Sie nach der Erweiterung des Projekts auf reife Bibliotheken wie Monolog, unterstützen Sie mehrere Handler und Protokollebenen und stellen Sie sicher, dass das Protokoll Zeitstempel, Ebenen, Dateizeilennummern und Fehlerdetails enth?lt. 2. Entwurfsstruktur: Eine kleine Menge an Protokollen kann in Dateien gespeichert werden. Wenn eine gro?e Anzahl von Protokollen vorhanden ist, w?hlen Sie eine Datenbank, wenn eine gro?e Anzahl von Analysen vorhanden ist. Verwenden Sie MySQL/Postgresql zu strukturierten Daten. Elasticsearch Kibana wird für semi-strukturierte/unstrukturierte empfohlen. Gleichzeitig wird es für Backup- und regelm??ige Reinigungsstrategien formuliert. 3. Entwicklungs- und Analyseschnittstelle: Sie sollten Such-, Filter-, Aggregations- und Visualisierungsfunktionen haben. Es kann direkt in Kibana integriert werden oder die PHP-Framework-Diagrammbibliothek zur Entwicklung der Selbstentwicklung verwenden und sich auf die Einfachheit und einfache Schnittstelle konzentrieren.
