Wie verwende ich die Redis-Caching-Technologie für die Verwaltung der Anforderungsablaufzeit in PHP-Anwendungen?

王林
Freigeben: 2023-06-19 22:16:01
Original
1431 Leute haben es durchsucht

Redis ist ein Open-Source-In-Memory-Datenstrukturspeichersystem, das häufig zum Speichern zwischengespeicherter Daten zur Verbesserung der Anwendungsleistung verwendet wird. PHP ist eine beliebte Skriptsprache, die häufig bei der Entwicklung von Webanwendungen verwendet wird. In diesem Artikel wird erläutert, wie Sie die Redis-Caching-Technologie für die Verwaltung der Ablaufzeit von Anforderungen in PHP-Anwendungen verwenden.

  1. Einführung in Redis Cache

Redis bietet ein Schlüsselwertspeichersystem, bei dem Schlüssel und Werte verschiedene Arten von Datenstrukturen wie Zeichenfolgen, Hashtabellen, Listen usw. sein können. Redis speichert Daten im Speicher, sodass die Zugriffsgeschwindigkeit sehr hoch ist, und wird häufig zum Speichern zwischengespeicherter Daten verwendet, um die Anzahl der Datenbankzugriffe zu reduzieren.

  1. Verwenden von Redis in PHP

Für die Verwendung von Redis in PHP ist die Installation der Redis-Erweiterung erforderlich. Die Redis-Erweiterung kann in der Linux-Umgebung mit dem folgenden Befehl installiert werden:

$ pecl install redis
Nach dem Login kopieren

Fügen Sie dann die folgende Zeile zur php.ini-Datei hinzu:

extension=redis.so
Nach dem Login kopieren

In der Windows-Umgebung kann die Redis-Erweiterung von der PECL-Website heruntergeladen und platziert werden in das PHP-Erweiterungsverzeichnis Mitte. Ändern Sie dann die Datei php.ini, um die Redis-Erweiterung zu aktivieren.

Der erste Schritt zur Verwendung von Redis besteht darin, eine Verbindung zum Redis-Server herzustellen. Sie können den folgenden Code verwenden, um ein Redis-Objekt zu erstellen und eine Verbindung zum lokalen Redis-Server herzustellen:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
Nach dem Login kopieren

Dadurch wird ein Redis-Objekt erstellt und eine Verbindung zum lokalen Redis-Server an Port 6379 hergestellt. Nachdem Sie eine Verbindung zum Redis-Server hergestellt haben, können Sie mit der Ausführung verschiedener Vorgänge beginnen, z. B. dem Festlegen von Schlüssel-Wert-Paaren, dem Abrufen von Werten, dem Löschen von Werten usw.

  1. Verwaltung der Ablaufzeit

Beim Speichern von Daten im Cache ist es normalerweise erforderlich, die Ablaufzeit anzugeben. Wenn die Daten nach einer gewissen Zeit nicht mehr verwendet werden, können sie automatisch aus dem Cache entfernt werden, um Cache-Speicherplatz freizugeben. Mit Redis können Sie für jeden Schlüssel eine Ablaufzeit festlegen, um sicherzustellen, dass abgelaufene Daten rechtzeitig gelöscht werden. Sie können den EXPIRE-Befehl von Redis verwenden, um die Ablaufzeit des Schlüssels festzulegen, wie unten gezeigt:

$redis->set('mykey', 'myvalue');
$redis->expire('mykey', 60); //设置过期时间为60秒
Nach dem Login kopieren

Der obige Code legt einen Wert für den Schlüssel mykey und eine Ablaufzeit für den Schlüssel auf 60 Sekunden fest. Innerhalb von 60 Sekunden kann der Wert des Schlüssels über den Befehl get abgerufen werden. Wenn aus irgendeinem Grund nicht innerhalb von 60 Sekunden auf den Schlüssel zugegriffen wird, wird der Schlüssel automatisch aus dem Cache entfernt.

Zusätzlich zur Verwendung des Befehls „expire“ zum Festlegen der Ablaufzeit können Sie auch den Befehl „pexpire“ verwenden, um die Ablaufzeit in Millisekunden festzulegen, und den Befehl „expireat“, um die Ablaufzeit eines Schlüssels auf einen UNIX-Zeitstempel festzulegen.

In PHP-Anwendungen können Sie die Befehle „set“ und „expire“ verwenden, um die Ergebnisse der Anfrage im Redis-Cache zu speichern und die entsprechende Ablaufzeit festzulegen. Befindet sich das angeforderte Ergebnis bereits im Cache, kann es direkt aus dem Cache geholt werden, ohne eine zeitaufwändige Datenbankabfrage durchzuführen. Der folgende Code zeigt beispielsweise, wie Datenbankabfrageergebnisse im Redis-Cache gespeichert und eine Ablaufzeit festgelegt werden:

$key = 'hash:' . $query; //生成缓存键
if ($redis->exists($key)) {
    //从缓存中获取结果
    return unserialize($redis->get($key));
} else {
    //执行数据库查询
    $result = ... //执行数据库查询代码

    //将结果存储在Redis缓存中,并设置过期时间
    $redis->set($key, serialize($result));
    $redis->expire($key, $expiration);

    //返回查询结果
    return $result;
}
Nach dem Login kopieren

Der obige Code speichert die Datenbankabfrageergebnisse in einer Redis-Hash-Tabelle mit dem Namen „hash:query“. Wenn die Daten bereits in dieser Hash-Tabelle vorhanden sind, können Sie sie direkt aus der Hash-Tabelle abrufen. Andernfalls wird die Datenbankabfrage ausgeführt, die Ergebnisse serialisiert und in einer Redis-Hash-Tabelle gespeichert und die Hash-Tabelle wird mit einer geeigneten Ablaufzeit festgelegt. Wenn dieselben Daten das nächste Mal angefordert werden, können die Ergebnisse aus dem Redis-Cache abgerufen werden, ohne dass die Datenbank erneut abgefragt werden muss.

  1. Fazit

Der Einsatz der Redis-Caching-Technologie kann die Leistung von PHP-Anwendungen erheblich verbessern. Mit Redis in PHP-Anwendungen können Sie zwischengespeicherte Daten verwalten und die Cache-Speichernutzung maximieren, indem Sie Ablaufzeiten festlegen. Durch das Speichern von Daten im Redis-Cache können Sie die Anzahl der Zugriffe auf die Datenbank reduzieren und die Antwortzeit Ihrer Anwendung beschleunigen.

Das obige ist der detaillierte Inhalt vonWie verwende ich die Redis-Caching-Technologie für die Verwaltung der Anforderungsablaufzeit in PHP-Anwendungen?. 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