Avec le développement de la technologie, l'Internet des objets (IoT) domestique est devenu le choix de plus en plus de familles. Cependant, permettre à tous les appareils d’interagir en temps réel nécessite un middleware fiable. Dans cet article, nous présenterons comment implémenter l'IoT domestique en temps réel à l'aide de PHP et Redis.
- Installer Redis
Tout d'abord, nous devons installer et configurer Redis sur le serveur. Redis est un système de stockage de structure de données en mémoire open source utilisé comme base de données, cache et file d'attente de messages.
Pour installer Redis sur un serveur Linux, vous pouvez utiliser la commande suivante :
sudo apt-get update
sudo apt-get install redis-server
Copier après la connexion
Une fois l'installation terminée, nous pouvons vérifier si Redis est en cours d'exécution en exécutant la commande suivante : #🎜🎜 #
redis-cli ping
Copier après la connexion
Si le résultat en cours d'exécution est "PONG", cela signifie que Redis est en cours d'exécution et que nous pouvons continuer à l'utiliser.
Connectez-vous à Redis et configurez
En PHP, vous pouvez utiliser la bibliothèque d'extensions PHP Redis pour interagir avec Redis. Nous pouvons l'installer en exécutant la commande suivante :
sudo apt-get install php-redis
Copier après la connexion
Pour nous connecter à l'instance Redis, nous pouvons utiliser le code suivant :
$redis = new Redis();
$redis->connect('127.0.0.1');
Copier après la connexion
Dans la méthode Connect, nous avons passé le Adresse IP de l'instance Redis. Si votre Redis n'est pas sur votre ordinateur local, remplacez l'adresse IP par une adresse IP valide pour votre instance.
Ensuite, nous devons définir certains paramètres pour Redis, notamment :
Définir le délai d'expiration de la cléActiver la persistance#🎜 🎜 #- Configurer le mot de passe Redis
Nous discuterons de ces paramètres plus en détail dans les sections suivantes.
Implémentation du modèle de publication/abonnement en PHP
Le modèle de publication/abonnement est un modèle de messagerie courant qui peut être utilisé pour établir une communication en temps réel . Parmi eux, l'éditeur publie le message sur une chaîne et l'abonné peut s'abonner à cette chaîne pour recevoir des messages associés.
En PHP, le mode publication/abonnement est implémenté en utilisant la méthode de publication. Voici un exemple :
$redis->publish('channel', 'message');
Copier après la connexion
Dans ce code, nous publions "message" sur un canal nommé "channel". Pour s'abonner à une chaîne, on peut utiliser la méthode d'abonnement, par exemple :
$redis->subscribe(array('channel'), function ($redis, $channel, $message) {
echo "Received message on channel $channel: $message";
});
Copier après la connexion
Dans ce code, on s'abonne à la chaîne nommée "channel" et renvoie le message reçu lors de la connexion à l'utilisateur.
Persistence
La persistance est une méthode d'écriture de données Redis sur le disque pour éviter la perte de données. Lorsque le serveur Redis tombe en panne, il peut récupérer les données et garantir leur intégrité. Il existe deux types de persistance disponibles :
RDB : enregistre les données Redis dans des fichiers binaires sur le disque
- AOF : stocke les opérations Redis dans un fichier journal afin que le Le serveur Redis peut rejouer l'opération pour reconstruire l'ensemble de données lors de son redémarrage.
Nous pouvons utiliser la commande suivante pour configurer le mode de persistance :
$redis->config('SET', 'save', '900 1 300 10 60 10000');
Copier après la connexion
Dans cet exemple, nous définissons la configuration Redis pour enregistrer l'ensemble de données sur le disque dur Le temps est d'au moins :
Au moins 1 clé a été modifiée en 900 secondes
- Au moins 10 clés ont été modifiées en 300 secondes
#🎜 🎜#Au moins 10 000 clés ont été modifiées en 60 secondesConfigurer le mot de passe Redis
- Par défaut, Redis est pas de mot de passe. Par conséquent, pour des raisons de sécurité, nous devons définir un mot de passe dans Redis.
Nous pouvons utiliser le code suivant pour définir le mot de passe Redis :
$redis->config('SET', 'requirepass', 'myPassword');
Copier après la connexion
Changez 'myPassword' par le mot de passe de votre choix.
Summary
- Dans cet article, nous avons présenté comment implémenter l'IoT domestique en temps réel à l'aide de PHP et Redis. Nous avons vu comment se connecter à Redis, comment définir le délai d'expiration de la clé Redis, comment activer la persistance, comment configurer un mot de passe Redis et comment implémenter le modèle de publication/abonnement en PHP.
Grâce à ces technologies, vous pouvez plus facilement établir une communication entre les appareils en temps réel et maintenir la sécurité et l'intégrité de vos données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!