Heim >PHP-Framework >Laravel >Redis-Nutzung von Laravel
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
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=redisSESSION_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 RedisCaching 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);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');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öschenWenn wir einen Cache löschen müssen, können wir den folgenden Code verwenden:
use IlluminateSupportFacadesCache; Cache::store('redis')->forget('key');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 istUm festzustellen, ob ein Cache vorhanden ist, können wir den folgenden Code verwenden:
use IlluminateSupportFacadesCache; if (Cache::store('redis')->has('key')) { // }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 verwendenUm 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, // ... ],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, ], ],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 WarteschlangeAls nächstes können wir den folgenden Code verwenden, um die Aufgabe in die Warteschlange zu verschieben:
use IlluminateSupportFacadesQueue; Queue::push(new SendEmailJob($user));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ührenNachdem wir die Aufgabe in die Warteschlange verschoben haben, müssen wir den folgenden Befehl verwenden, um die Aufgabe auszuführen:
php artisan queue:workDas 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. ZusammenfassungDie 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!