Heim > PHP-Framework > Laravel > Hauptteil

Redis-Nutzung von Laravel

王林
Freigeben: 2023-05-21 09:01:07
Original
2422 Leute haben es durchsucht

Laravel ist ein beliebtes PHP-Entwicklungsframework. Es gewann den Titel des beliebtesten PHP-Frameworks in der „Laravel Developers Survey 2020“. Unter ihnen ist die Redis-Funktion von Laravel weit verbreitet, die Entwicklern dabei helfen kann, effizientes Caching und Warteschlangenverarbeitung zu erreichen.

Redis ist ein Open-Source-In-Memory-Datenspeichersystem, das eine NoSQL-Datenbank ähnlich Schlüssel-Wert-Paaren ist. Das Merkmal von Redis ist, dass es eine Vielzahl von Datenstrukturen wie Zeichenfolgen, Listen, Hashes, Mengen, geordnete Mengen usw. unterstützen kann. Es bietet außerdem die Vorteile hoher Leistung, hoher Verfügbarkeit, Skalierbarkeit und Benutzerfreundlichkeit ist in der Entwicklung sehr beliebt und weit verbreitet. Als nächstes werden wir die Verwendung von Redis in Laravel im Detail vorstellen.

Redis-Konfiguration

Bevor Sie Redis in Laravel verwenden, müssen Sie es zunächst konfigurieren. Öffnen Sie die .env-Datei und suchen Sie die folgenden Konfigurationselemente:

CACHE_DRIVER=file
SESSION_DRIVER=file
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Nach dem Login kopieren

Unter ihnen stellt CACHE_DRIVER den Cache-Treiber dar, der Standardwert ist file, hier müssen wir ihn in Redis ändern, das heißt: #🎜 🎜#

CACHE_DRIVER=redis
Nach dem Login kopieren

SESSION_DRIVER Gleicher Grund. REDIS_HOST stellt die Adresse des Redis-Dienstes dar, der standardmäßig 127.0.0.1 des lokalen Computers ist. REDIS_PASSWORD stellt das Passwort von Redis dar. Wenn es nicht verfügbar ist, muss es auf null gesetzt werden. REDIS_PORT gibt den Port an, den der Redis-Dienst überwacht. Der Standardwert ist 6379.

Um die Nutzung zu testen, wird das hier verwendete Redis auf dem lokalen Computer installiert, ohne ein Passwort festzulegen. Wenn Sie Remote-Redis verwenden, müssen Sie REDIS_HOST und REDIS_PORT ändern und außerdem REDIS_PASSWORD festlegen.

Caching mit Redis

Caching mit Redis in Laravel ist sehr einfach. Wir müssen nur die Cache-Klasse verwenden, um auf den Cache zuzugreifen, und dann ihren Treiber auf Redis setzen, damit Redis zum Caching verwendet werden kann.

Einen Wert zwischenspeichern

Es gibt viele Möglichkeiten, Redis zum Zwischenspeichern zu verwenden. Hier stellen wir zunächst das Zwischenspeichern eines Werts vor.

use IlluminateSupportFacadesCache;

Cache::store('redis')->put('key', 'value', $seconds);
Nach dem Login kopieren

Der obige Code greift über Cache::store('redis') auf den Redis-Cache zu und speichert dann ein Schlüssel-Wert-Paar mithilfe der Put-Methode zwischen. Darunter stellt $seconds die Cache-Gültigkeitsdauer in Sekunden dar. Wenn der Wert von $seconds null ist, läuft der Cache nicht ab.

Wert abrufen

Die Funktion des Zwischenspeicherns eines Werts besteht darin, den Wert in Zukunft direkt abrufen zu können. Wir können die Cache-Klasse von Laravel verwenden, um diesen Wert zu erhalten:

use IlluminateSupportFacadesCache;

$value = Cache::store('redis')->get('key');
Nach dem Login kopieren

Der obige Code greift über Cache::store('redis') auf den Redis-Cache zu, und die get-Methode ruft den dem Schlüssel entsprechenden Wert ab.

Einen Wert löschen

Wenn wir einen Cache löschen müssen, können wir den folgenden Code verwenden:

use IlluminateSupportFacadesCache;

Cache::store('redis')->forget('key');
Nach dem Login kopieren

Der obige Code übergibt Cache:: store('redis') hat auf den Redis-Cache zugegriffen und die Forget-Methode hat den entsprechenden Cache gelöscht.

Um festzustellen, ob ein Cache vorhanden ist

Um festzustellen, ob ein Cache vorhanden ist, können wir den folgenden Code verwenden:

use IlluminateSupportFacadesCache;

if (Cache::store('redis')->has('key')) {
    //
}
Nach dem Login kopieren

Der obige Code übergibt Cache ::store('redis') greift auf den Redis-Cache zu und die Methode has bestimmt, ob der dem Schlüssel entsprechende Wert vorhanden ist.

Redis für die Warteschlangenverarbeitung verwenden

Um Redis für die Warteschlangenverarbeitung in Laravel zu verwenden, müssen Sie zunächst einen Warteschlangendienstanbieter vorstellen. Öffnen Sie die Datei config/app.php, suchen Sie das Provider-Array und fügen Sie den folgenden Code hinzu:

'providers' => [
    // ...
    IlluminateQueueQueueServiceProvider::class,
    IlluminateRedisRedisServiceProvider::class,
    // ...
],
Nach dem Login kopieren

Als nächstes müssen wir die Warteschlangenverbindung konfigurieren. Öffnen Sie die Datei config/queue.php und ändern Sie die folgenden Konfigurationselemente:

'connections' => [
    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => 'default',
        'retry_after' => 90,
        'block_for' => null,
    ],
],
Nach dem Login kopieren

Unter diesen bedeutet „Treiber“ die Verwendung des Redis-Treibers; „Verbindung“ bedeutet die verwendete Cache-Verbindung; „retry_after“ bedeutet; wenn ein Fehler auftritt, Wiederholungszeit in Sekunden; block_for stellt die Blockierungszeit beim Erfassen von Aufgaben in Sekunden dar.

Schieben Sie die Aufgabe in die Warteschlange

Als nächstes können wir den folgenden Code verwenden, um die Aufgabe in die Warteschlange zu verschieben:

use IlluminateSupportFacadesQueue;

Queue::push(new SendEmailJob($user));
Nach dem Login kopieren

Der obige Code verwendet Queue:: Die Push-Methode verschiebt einen SendEmailJob in die Standardwarteschlange. Unter diesen ist SendEmailJob eine benutzerdefinierte Aufgabenklasse, die komplexere Logik implementieren kann.

Warteschlangenaufgabe ausführen

Nachdem wir die Aufgabe in die Warteschlange verschoben haben, müssen wir den folgenden Befehl verwenden, um die Aufgabe auszuführen:

php artisan queue:work
Nach dem Login kopieren
Das Obige Der Befehl startet einen Prozess zum Ausführen von Warteschlangenaufgaben. Wenn Ihr Server über mehrere CPU-Kerne verfügt, können Sie die Geschwindigkeit der Aufgabenverarbeitung erhöhen, indem Sie die Option --daemon hinzufügen, um mehrere Prozesse zu starten.

Zusammenfassung

Die Redis-Funktion von Laravel ist sehr leistungsstark und durch die Zusammenarbeit mit Redis kann eine hervorragende Caching- und Warteschlangenverarbeitung erreicht werden. Bei hoher Parallelität und komplexem Geschäft kann die Verwendung von Redis-Cache und -Warteschlange die Leistung und Stabilität des Systems erheblich verbessern. Dieser Artikel stellt kurz die Verwendung von Redis in Laravel vor und hofft, für Ihre Entwicklungsarbeit hilfreich zu sein.

Das obige ist der detaillierte Inhalt vonRedis-Nutzung von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!