Redis est un système de stockage de valeurs de clé haute performance qui prend en charge une variété de structures de données telles que des chaînes, des hachages, des listes, des collections et des collections ordonnées. Son mécanisme de publication / abonnement (pub / sub) permet de passer des messages entre les éditeurs et les abonnés, réalisant la circulation de l'information en temps réel. L'éditeur envoie le message au canal spécifié et l'abonné écoute et reçoit des messages du canal.
Avant d'utiliser Redis dans PHP, vous devez installer l'extension Redis, qui peut être installée via PECL ou code source. Une fois l'installation terminée, créez le client Redis et connectez-vous au serveur à l'aide du code suivant:
//Créer unRedisObjet client
$redis = new Redis();
//connecterRedisserveur
$redis->connect('127.0.0.1', 6379);
La méthode Connect accepte ici l'adresse IP et le numéro de port du serveur Redis en tant que paramètres.
Grâce à la méthode $ redis-> publish () , PHP peut envoyer des messages au canal spécifié. L'exemple de code est le suivant:
//Publier un message sur le canal spécifié
$redis->publish($channel, $message);
Où $ canal est le nom du canal et le message $ est le contenu du message publié.
À l'aide de la méthode $ redis-> abonner () , PHP peut s'abonner à un ou plusieurs canaux et écouter des messages. L'exemple est le suivant:
//Abonnez-vous au canal spécifié
$redis->subscribe([$channel1, $channel2], $callback);
Dans les paramètres, $ Channel1 et $ Channel2 sont des tableaux de noms de canaux, et $ rappelant est une fonction de rappel exécutée lors d'un message reçu, qui peut traiter les messages dans le rappel.
L'exemple suivant montre comment publier des messages dans PHP et écouter un canal spécifié:
//Créer unRedisObjet client
$redis = new Redis();
//connecterRedisserveur
$redis->connect('127.0.0.1', 6379);
//Spécifiez le nom de la chaîne à publier pour
$channel = 'my_channel';
//Publier un message sur le canal spécifié
$redis->publish($channel, 'Hello, Redis!');
//Commencer à écouter,En attente du message de la chaîne
$redis->subscribe([$channel], function($redis, $channel, $message) {
echo "Received message from channel {$channel}: {$message}\n";
});
Dans l'exemple, connectez d'abord au serveur Redis, puis publiez un message sur la chaîne My_Channel , puis commencez l'écoute d'abonnement. Lorsque le canal reçoit le message, la fonction de rappel imprime le contenu du message.
La fonction de publication / sous-être de Redis fournit un mécanisme efficace pour la messagerie en temps réel. Avec l'aide de l'extension Redis de PHP, les développeurs peuvent facilement mettre en œuvre des messages de publication et de souscription, créant ainsi des applications de traitement de messages flexibles.