


Laravel-Entwicklung: Wie verwende ich Laravel Redis, um Daten-Caching zu implementieren?
Laravel ist ein sehr beliebtes PHP-Framework, das in der Webentwicklung weit verbreitet ist. Das Laravel-Framework bietet viele praktische APIs und Komponenten, einschließlich Daten-Caching. Redis ist ein beliebter Open-Source-In-Memory-Datenstrukturspeicher, der die Datenabfrage- und Leseeffizienz sehr effektiv verbessern kann. In diesem Artikel wird erläutert, wie Sie mit Laravel Redis Daten-Caching in Laravel implementieren und so die Leistung von Webanwendungen verbessern.
Installation
Zuerst müssen wir Laravel Redis installieren. Es kann mit Composer installiert werden, indem Sie den folgenden Befehl ausführen:
composer require predis/predis
Implementieren Sie den Laravel Redis-Cache-Treiber mit dem Paket predis/predis. Nach Abschluss der Installation müssen Sie die Variablen REDIS_HOST, REDIS_PASSWORD und REDIS_PORT in der Datei .env
festlegen. .env
文件中设置REDIS_HOST,REDIS_PASSWORD和REDIS_PORT变量。
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
配置Laravel Redis
修改config/cache.php
文件中的配置,将'default'选项更改为'redis'使用Redis作为缓存驱动。另外,在'redis'数组中设置Redis连接信息。
'default' => env('CACHE_DRIVER', 'redis'), 'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], ],
使用Laravel Redis
一旦设置好了Laravel Redis的驱动程序和配置,我们可以开始使用它了。下面是通过Laravel Redis进行数据缓存的3种方法:
普通缓存
使用Laravel Redis的最简单方法是使用Cache
门面的基本方法。Laravel框架提供了许多高级功能,但这里强调最基本的缓存处理方法。可以通过以下代码进行缓存:
use IlluminateSupportFacadesCache; $value = Cache::remember('key', $minutes, function () { return DB::table('users')->get(); });
上述代码将结果从"users"表中缓存到Redis中。在此之后,调用该密钥时将重复使用Redis中的缓存副本,而不是从源数据库重新生成结果。Cache::remember
方法的第二个参数是缓存有效期(以分钟为单位),或者可以使用Cache::forever
方法将数据永久保存到缓存中。
标签缓存
另一种使用Laravel Redis的高级缓存方法是使用标签。标签使您可以创建和捕获多个缓存条目,然后使用标签清除所有这些条目。标签缓存提供了对缓存生命周期的更好控制。
use IlluminateSupportFacadesCache; Cache::tags(['people', 'artists'])->put('John', $john, $minutes); Cache::tags(['people', 'authors'])->put('Jane', $jane, $minutes);
上述代码将John
保存在两个标签people
和artists
中,并将Jane
保存在两个标签people
和authors
中。现在可以使用特定标签的flush
方法,仅清除该标签下的所有缓存项。
Cache::tags(['people'])->flush();
上述代码清除所有带有people
标签的缓存并将它们从Redis中删除。
辅助函数
Laravel Redis还提供了一些功能较少但使用起来更加方便的辅助函数。以下是其中一些:
-
cache()->put('key', 'value', $minutes)
缓存输入值一定时间。 -
cache()->get('key')
检索已缓存的值。 -
cache()->remember('key', $minutes, function() { return 'value'; })
检索任何缓存项,失败时返回新值。 -
cache()->rememberForever()
rrreee Konfigurieren Sie Laravel Redis
Ändern Sie die Konfiguration in der Datei config/cache.php
und ändern Sie die Option „default“ in „redis“, um Redis als Cache-Treiber zu verwenden. Legen Sie außerdem die Redis-Verbindungsinformationen im Array „redis“ fest.
rrreeeVerwendung von Laravel Redis
🎜Sobald der Laravel Redis-Treiber und die Konfiguration eingerichtet sind, können wir mit der Verwendung beginnen. Hier sind drei Möglichkeiten, Daten über Laravel Redis zwischenzuspeichern: 🎜Normaler Cache
🎜Der einfachste Weg, Laravel Redis zu verwenden, ist die Verwendung der grundlegenden Methode derCache
-Fassade. Das Laravel-Framework bietet viele erweiterte Funktionen, aber hier konzentrieren wir uns auf die grundlegendsten Caching-Methoden. Das Caching kann über den folgenden Code erfolgen: 🎜rrreee🎜Der obige Code speichert die Ergebnisse aus der Tabelle „Benutzer“ in Redis zwischen. Danach wird die zwischengespeicherte Kopie in Redis beim Aufruf des Schlüssels wiederverwendet, anstatt die Ergebnisse aus der Quelldatenbank neu zu generieren. Der zweite Parameter der Methode Cache::remember
ist die Cache-Gültigkeitsdauer in Minuten. Alternativ kann die Methode Cache::forever
verwendet werden, um die Daten dauerhaft im Cache zu speichern . 🎜Tag-Caching
🎜Eine weitere erweiterte Caching-Methode mit Laravel Redis ist die Verwendung von Tags. Mit Tags können Sie mehrere Cache-Einträge erstellen und erfassen und diese dann alle mithilfe von Tags löschen. Tag-Caching bietet eine bessere Kontrolle über den Cache-Lebenszyklus. 🎜rrreee🎜Der obige Code speichertJohn
in zwei Tags people
und artists
und speichert Jane
in den beiden markiert Personen
und Autoren
. Es ist jetzt möglich, die Methode flush
eines bestimmten Tags zu verwenden, um nur alle zwischengespeicherten Elemente unter diesem Tag zu löschen. 🎜rrreee🎜Der obige Code löscht alle Caches mit people
-Tags und löscht sie aus Redis. 🎜Hilfsfunktionen
🎜Laravel Redis bietet auch einige Hilfsfunktionen, die weniger Funktionen haben, aber bequemer zu verwenden sind. Hier sind einige davon: 🎜-
cache()->put('key', 'value', $minutes)
Den Eingabewert für eine bestimmte Zeit zwischenspeichern. 🎜 -
cache()->get('key')
Einen zwischengespeicherten Wert abrufen. 🎜 -
cache()->remember('key', $minutes, function() { return 'value'; })
Ruft alle zwischengespeicherten Elemente ab und gibt bei einem Fehler einen neuen Wert zurück. 🎜 -
cache()->rememberForever()
Cache-Elemente immer merken. 🎜🎜🎜Fazit🎜🎜Laravel Redis bietet einige einfache und benutzerfreundliche Methoden zum Zwischenspeichern von Daten und zum effizienten Lesen und Abfragen von Daten in Webanwendungen. Das Laravel-Framework basiert fast vollständig auf Composer, was die Arbeit mit Laravel Redis erleichtert. Der Vorteil der Verwendung von Laravel Redis Caching bei großen Webanwendungen besteht darin, dass es die Zeitverschwendung durch langsamere Datenbanken reduziert und die Abfragegeschwindigkeit für dynamische Daten erhöht. 🎜
Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie verwende ich Laravel Redis, um Daten-Caching zu implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

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

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

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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)

Heiße Themen

Laravel – Artisan Commands – Laravel 5.7 bietet eine neue Möglichkeit, neue Befehle zu behandeln und zu testen. Es enthält eine neue Funktion zum Testen von Handwerkerbefehlen und die Demonstration wird unten erwähnt?

Die neuesten Versionen von Laravel 9 und CodeIgniter 4 bieten aktualisierte Funktionen und Verbesserungen. Laravel9 übernimmt die MVC-Architektur und bietet Funktionen wie Datenbankmigration, Authentifizierung und Template-Engine. CodeIgniter4 nutzt die HMVC-Architektur, um Routing, ORM und Caching bereitzustellen. In Bezug auf die Leistung sorgen das auf Dienstanbietern basierende Designmuster von Laravel9 und das leichte Framework von CodeIgniter4 für eine hervorragende Leistung. In praktischen Anwendungen eignet sich Laravel9 für komplexe Projekte, die Flexibilität und leistungsstarke Funktionen erfordern, während CodeIgniter4 für schnelle Entwicklung und kleine Anwendungen geeignet ist.

Bei der Auswahl eines Frameworks für große Projekte haben Laravel und CodeIgniter jeweils ihre eigenen Vorteile. Laravel ist für Anwendungen auf Unternehmensebene konzipiert und bietet modularen Aufbau, Abhängigkeitsinjektion und einen leistungsstarken Funktionsumfang. CodeIgniter ist ein leichtes Framework, das sich eher für kleine bis mittelgroße Projekte eignet und Wert auf Geschwindigkeit und Benutzerfreundlichkeit legt. Für große Projekte mit komplexen Anforderungen und einer großen Anzahl von Benutzern sind die Leistung und Skalierbarkeit von Laravel besser geeignet. Für einfache Projekte oder Situationen mit begrenzten Ressourcen sind die leichten und schnellen Entwicklungsfunktionen von CodeIgniter idealer.

Vergleichen Sie Laravel's Blade und die Twig-Vorlagen-Engine von CodeIgniter und wählen Sie je nach Projektanforderungen und persönlichen Vorlieben: Blade basiert auf der MVC-Syntax, die eine gute Codeorganisation und Vorlagenvererbung fördert. Twig ist eine Bibliothek eines Drittanbieters, die flexible Syntax, leistungsstarke Filter, erweiterten Support und eine Sicherheits-Sandbox bietet.

Für Anfänger bietet CodeIgniter eine sanftere Lernkurve und weniger Funktionen, deckt aber die Grundbedürfnisse ab. Laravel bietet einen größeren Funktionsumfang, weist jedoch eine etwas steilere Lernkurve auf. In Bezug auf die Leistung schneiden sowohl Laravel als auch CodeIgniter gut ab. Laravel verfügt über eine umfangreichere Dokumentation und aktive Community-Unterstützung, während CodeIgniter einfacher und leichtgewichtiger ist und über starke Sicherheitsfunktionen verfügt. Im praktischen Fall der Erstellung einer Blogging-Anwendung vereinfacht EloquentORM von Laravel die Datenmanipulation, während CodeIgniter mehr manuelle Konfiguration erfordert.

Für kleine Projekte eignet sich Laravel, für größere Projekte, die starke Funktionalität und Sicherheit erfordern. CodeIgniter eignet sich für sehr kleine Projekte, die geringes Gewicht und Benutzerfreundlichkeit erfordern.

Laravel – Facades – Facades bieten eine statische Schnittstelle zu Klassen, die im Servicecontainer der Anwendung verfügbar sind. Laravel-Fassaden fungieren als statische Proxys für zugrunde liegende Klassen im Service-Container und bieten den Vorteil einer knappen, exp

Laravel – Dump-Server – Der Laravel-Dump-Server wird mit der Version von Laravel 5.7 geliefert. Die Vorgängerversionen enthalten keinen Dump-Server. Der Dump-Server wird eine Entwicklungsabhängigkeit in der Laravel-/Laravel-Composer-Datei sein.
