Verwendung von Redis in ThinkPHP6

王林
Freigeben: 2023-06-20 12:31:40
Original
5293 Leute haben es durchsucht

Mit der Entwicklung der Internet-Technologie müssen immer mehr Websites und Anwendungen eine große Anzahl gleichzeitiger Anfragen und Datenspeicherung verarbeiten. Daher wird es immer wichtiger, effiziente Daten-Caching- und Speicherlösungen zu verwenden. Redis ist eine leistungsstarke In-Memory-Datenbank, die häufig für Daten-Caching, Sitzungsverwaltung und andere Szenarien im Internetbereich verwendet wird. In diesem Artikel wird hauptsächlich die Verwendung von Redis in ThinkPHP6 vorgestellt.

1. Redis-Installation und -Konfiguration

Zunächst gibt es zwei Möglichkeiten, Redis auf einem Windows-System zu installieren. Eine besteht darin, das Redis-komprimierte Paket herunterzuladen und es dann zu starten den Chocolatey-Paketmanager, um es zu installieren.

Wenn Sie Chocolatey bereits installiert haben, können Sie Redis mit dem folgenden Befehl installieren:

choco install redis-64
Nach dem Login kopieren

Nachdem die Installation abgeschlossen ist, müssen Sie sie konfigurieren. Suchen Sie die Datei redis.windows.conf im Redis-Installationsverzeichnis und ändern Sie den Bindungs- und Schutzmodus in die folgende Konfiguration:

bind 0.0.0.0
protected-mode no
Nach dem Login kopieren

Dadurch überwacht Redis alle IP-Adressen und deaktiviert den geschützten Modus, was unsere Entwicklung erleichtert und testen.

2. Redis-Erweiterung in ThinkPHP6

Die Redis-Erweiterung von ThinkPHP6 wird auf Basis des PHP-Erweiterungspakets predis entwickelt. Sie müssen vor der Verwendung die folgenden Abhängigkeiten in der Datei „composer.json“ hinzufügen:

"predis/predis": "^1.1"
Nach dem Login kopieren

Dann verwenden Sie Composer zur Installation:

composer update
Nach dem Login kopieren

Installation Erstellen Sie nach Abschluss die Konfigurationsdatei redis.php im Konfigurationsverzeichnis und fügen Sie den folgenden Inhalt hinzu:

return [
    'default' => [
        'host'     => '127.0.0.1',
        'port'     => 6379,
        'password' => '',
        'database' => 0,
        'prefix'   => '',
        'timeout'  => 5,
    ],
];
Nach dem Login kopieren

Die Standardverbindungsinformationen von Redis werden hier konfiguriert, einschließlich IP-Adresse, Portnummer, Authentifizierungskennwort und Datenbanknummer usw. des Redis-Servers.

3. Grundlegende Verwendung von Redis

In ThinkPHP6 können Sie eine Redis-Instanz über den folgenden Code erhalten:

use thinkacadeCache;

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

Dabei wird der Cache-Treiber über Cache::store als Redis angegeben und dann die Redis-Instanz abgerufen durch die Handler-Methode.

Als nächstes können wir die folgenden Vorgänge auf Redis ausführen.

3.1. Cache einrichten und abrufen

// 设置缓存
$redis->set('name', 'Tom', 60);

// 获取缓存
$name = $redis->get('name');
Nach dem Login kopieren

Hier wird ein Cache mit dem Namen name festgelegt, der Wert ist Tom und die Gültigkeitsdauer beträgt 60 Sekunden. Rufen Sie dann den zwischengespeicherten Wert über die get-Methode ab.

3.2. Cache löschen

// 删除缓存
$redis->del('name');
Nach dem Login kopieren

Hier wird der Namenscache über die Del-Methode gelöscht.

3.3. Bestimmen Sie, ob der Cache vorhanden ist

// 判断缓存是否存在
if ($redis->exists('name')) {
    echo '缓存存在';
} else {
    echo '缓存不存在';
}
Nach dem Login kopieren

Hier verwenden wir die Methode „exists“, um festzustellen, ob der Namenscache vorhanden ist.

4. Erweiterte Anwendungen von Redis

Zusätzlich zu den grundlegenden Cache-Operationen unterstützt Redis auch Operationen für Datentypen wie Hashes, Listen, Mengen und geordnete Mengen. Hier sind einige häufig verwendete erweiterte Anwendungen.

4.1. Hash-Tabellenbetrieb

// 设置哈希表
$redis->hset('user', 'name', 'Tom');
$redis->hset('user', 'age', 18);

// 获取哈希表
$user = $redis->hgetall('user');
$name = $redis->hget('user', 'name');
$age = $redis->hget('user', 'age');
Nach dem Login kopieren

Hier wird über die hset-Methode eine Hash-Tabelle mit dem Namen Benutzer eingerichtet, die zwei Felder enthält: Name und Alter. Erhalten Sie dann die Daten der gesamten Hash-Tabelle über die hgetall-Methode und die Werte der Namens- und Altersfelder jeweils über die hget-Methode.

4.2. Listenoperation

// 添加列表元素
$redis->rpush('list', 'a');
$redis->rpush('list', 'b');
$redis->rpush('list', 'c');

// 获取列表元素
$list = $redis->lrange('list', 0, -1);

// 弹出列表元素
$value = $redis->lpop('list');
Nach dem Login kopieren

Hier werden drei Elemente a, b und c über die rpush-Methode zur Liste mit dem Namen list hinzugefügt, dann werden alle Elemente in der Liste über die lrange-Methode abgerufen und das erste Element in der Die Liste wird über die lpop-Methode eines Elements angezeigt.

4.3. Mengenoperation

// 添加集合元素
$redis->sadd('set', 'a');
$redis->sadd('set', 'b');
$redis->sadd('set', 'c');

// 获取集合元素
$set = $redis->smembers('set');

// 删除集合元素
$redis->srem('set', 'a');
Nach dem Login kopieren

Hier werden drei Elemente a, b und c durch die Sadd-Methode zur Menge mit dem Namen Set hinzugefügt, dann werden alle Elemente in der Menge durch die Smembers-Methode erhalten, und ein bestimmtes Element in der Menge Der Satz wird über die SREM-Methode gelöscht.

4.4. Geordnete Mengenoperation

// 添加有序集合元素
$redis->zadd('zset', 60, 'a');
$redis->zadd('zset', 70, 'b');
$redis->zadd('zset', 80, 'c');

// 获取有序集合元素
$zset = $redis->zrange('zset', 0, -1);

// 修改有序集合分数
$redis->zincrby('zset', 10, 'a');
Nach dem Login kopieren

Hier werden drei Elemente a, b und c durch die zadd-Methode zur geordneten Menge hinzugefügt, die jeweils 60, 70 und 80 beträgt. Verwenden Sie dann die zrange-Methode, um alle Elemente in der geordneten Menge abzurufen und sie entsprechend ihrer Bewertung von klein nach groß zu sortieren. Schließlich kann die Punktzahl eines Elements durch die Zincrby-Methode erhöht oder verringert werden.

5. Zusammenfassung

Dieser Artikel stellt die Verwendung von Redis in ThinkPHP6 vor und stellt einige grundlegende und erweiterte Anwendungen von Redis vor. Durch diese Vorgänge können Sie die gleichzeitigen Verarbeitungsfunktionen und die Datenspeicherleistung von Websites und Anwendungen verbessern sowie das Benutzererlebnis und die Benutzerzufriedenheit verbessern.

Das obige ist der detaillierte Inhalt vonVerwendung von Redis in ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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