Heim > Artikel > PHP-Framework > 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.
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
修改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进行数据缓存的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()
rrreeeconfig/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. Verwendung 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: 🎜Cache
-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 . 🎜John
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. 🎜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!