Heim >Datenbank >Redis >Ausführliche Erläuterung der Anwendung von Redis in PHP

Ausführliche Erläuterung der Anwendung von Redis in PHP

WBOY
WBOYOriginal
2023-06-20 13:51:071403Durchsuche

Redis ist ein leistungsstarkes Schlüsselwertspeichersystem, das häufig in Szenarien wie verteiltem Caching, Nachrichtenwarteschlangen und Echtzeitstatistiken verwendet wird. PHP ist eine weit verbreitete Skriptsprache und nimmt eine wichtige Stellung im Bereich der Webentwicklung ein. Aufgrund der Effizienz von Redis und der Beliebtheit von PHP können viele hervorragende Anwendungen durch die Kombination von Redis mit PHP implementiert werden. In diesem Artikel wird die Anwendung von Redis in PHP ausführlich vorgestellt und einige Beispielcodes bereitgestellt, um den Lesern ein besseres Verständnis zu erleichtern.

1. Umgebungsvorbereitung
Bevor wir Redis verwenden, müssen wir Redis- und PHP-Erweiterungen installieren und konfigurieren. Das Folgende ist die Installationsmethode basierend auf dem Ubuntu-System:

  1. Redis installieren

sudo apt-get install redis-server

  1. PHP-Erweiterung installieren
    Sie kann über den Quellcode installiert werden, wie unten gezeigt:

git Klonen Sie https://github.com/phpredis/phpredis.git
cd phpredis
phpize
./configure
make && make install

Sie können PECL auch zum Installieren verwenden:

pecl install redis

Nachdem die Installation abgeschlossen ist , Sie müssen es in php.ini installieren. Erweiterte Konfiguration hinzufügen:

extension=redis.so

2. Grundlegende Verwendung von Redis
Im Folgenden sind einige grundlegende Befehle und Verwendungsmethoden von Redis aufgeführt:

  1. Mit Redis verbinden

Um eine Verbindung zu Redis herzustellen, müssen Sie die Verbindungsmethode der Redis-Klasse verwenden und die IP- und Portnummer des Redis-Dienstes übergeben.

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

  1. Speichern von Daten

Sie können die Set-Methode von Redis verwenden, um das Schlüssel-Wert-Paar festzulegen , wie unten gezeigt:

$redis->set('name', 'Tom');

Sie können auch die mset-Methode verwenden, um mehrere Schlüssel-Wert-Paare festzulegen:

$redis->mset(array ('name' => ' Tom', 'age' => '18'));

  1. Daten abrufen

Sie können die get-Methode von Redis verwenden, um den einem Schlüssel entsprechenden Wert abzurufen, wie gezeigt unten:

$name = $redis-> ;get('name');

Sie können auch die mget-Methode verwenden, um die Werte zu erhalten, die mehreren Schlüsseln entsprechen:

$result = $redis->mget (array('name', 'age'));

  1. So löschen Sie Daten

Sie können die del-Methode von Redis verwenden, um den einem Schlüssel entsprechenden Wert zu löschen, wie unten gezeigt:

$redis-> del('name');

Sie können auch die Unlink-Methode verwenden, um den Wert zu löschen, der mehreren Schlüsseln entspricht. Wert:

$redis->unlink(array('name', 'age'));

3. Anwendung von Redis in PHP

  1. Cache

Redis kann als effizienter Speicher-Cache die Leistung von Webanwendungen extrem verbessern. Hier ist ein Beispielcode für Redis als Cache in PHP.

1.1. Speichern von Seiten-Cache-Daten

Es ist sehr einfach, Redis zum Speichern von Seiten-Cache-Daten in Ihrem eigenen Framework zu verwenden. Sie können je nach Bedarf Set-, Get-, Flush- und andere Methoden in einer Klasse implementieren und sie dann dort aufrufen, wo der Seitencache gespeichert werden muss, indem Sie den folgenden Code verwenden:

$redis_cache = new RedisCache();
if(!$redis_cache ->get( $cache_key)){

// 数据未存储在Redis中,需要从数据库中获取数据
$data = $db->query('SELECT * FROM user where id = 1');
$redis_cache->set($cache_key, $data);

}
else{

// 数据已经存储在Redis中,直接从Redis中获取数据
$data = $redis_cache->get($cache_key);

}

1.2. Speichern von Sitzungsdaten

Für eine hochgradig gleichzeitige Webanwendung ist das Speichern von Sitzungsdaten ein sehr wichtiges Thema. Bei Verwendung des mit PHP gelieferten Sitzungsmechanismus werden viele E/A-Vorgänge generiert, was zu einer Leistungseinbuße der Webanwendung führt. Durch die Verwendung von Redis als Backend des Sitzungsspeichers kann die Leistung von Webanwendungen effektiv verbessert werden. Im Folgenden finden Sie Beispielcode zur Verwendung von Redis als Sitzungsspeicher in PHP.

// Rufen Sie den folgenden Code auf, um die Sitzung während der Initialisierungsphase der Website einzurichten:
session_name('PHPSESSID'); // Legen Sie den Sitzungsnamen fest
ini_set('session.save_handler', 'redis'); / / Legen Sie die Sitzungsspeichermethode fest
ini_set('session.save_path', 'tcp://127.0.0.1:6379'); // Legen Sie den Sitzungsspeicherpfad fest

  1. Nachrichtenwarteschlange

Die mehreren Datenstrukturen von Redis können sein Wird zur Implementierung von Nachrichtenwarteschlangen verwendet. Die Nachrichtenwarteschlange ist ein asynchroner Kommunikationsmechanismus, der die Echtzeitnatur von Sender und Empfänger entkoppeln kann. Wenn der Absender eine Nachricht sendet, wird die Nachricht gemäß einigen Regeln der Nachrichtenwarteschlange in die Warteschlange gestellt. Der Empfänger kann Nachrichten aus der Warteschlange abrufen und diese jederzeit entsprechend seinen eigenen Bedürfnissen verarbeiten. Im Folgenden finden Sie Beispielcode zur Implementierung einer Nachrichtenwarteschlange mit Redis in PHP.

//Absendercode
$message = 'hello world';
$redis->lpush('message_queue', $message); //Nachricht in die Nachrichtenwarteschlange schreiben

//Empfängercode
$messages = $redis ->brpop('message_queue', 0); // Nachrichten aus der Warteschlange abrufen
$message = $messages[1];

  1. Echtzeitstatistiken

Redis kann zum Speichern und Zählen in Echtzeit verwendet werden Daten, zum Beispiel PV und UV der Seite usw. Im Folgenden finden Sie einen Beispielcode zur Verwendung von Redis in PHP zur Implementierung von Echtzeitstatistiken.

// PV-Statistikcode
$redis->incr('page_view'); // Zähler +1
$page_views = $redis->get('page_view'); // Aktuelle Anzahl der Besuche abrufen

/ / UV-Statistikcode
$user_id = $_COOKIE['user_id'];
$redis->sadd('user_view_set', $user_id); // Benutzer zum Satz hinzufügen
$user_views = $redis-> scard ('user_view_set'); // Aktuelle Anzahl der einzelnen Besucher abrufen

4. Zusammenfassung
Redis ist in PHP sehr flexibel einsetzbar und kann zur Implementierung vieler hervorragender Anwendungen verwendet werden. Wenn Sie Redis verwenden, müssen Sie die grundlegenden Befehle und Datenstrukturen von Redis verstehen und Entscheidungen basierend auf bestimmten Anwendungsszenarien treffen. Gleichzeitig müssen Sie bei der Verwendung von PHP-Erweiterungen auf den Installations- und Konfigurationsprozess der Erweiterung achten, um Probleme zu vermeiden.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Anwendung von Redis in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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