Comment surveiller les modifications des données dans la base de données ?
Besoin de mettre en œuvre des messages push en temps réel. Le front-end utilise websocket et le back-end utilise php et node.js. (Apprentissage recommandé : Tutoriel vidéo PHP)
Le problème actuel est que le front-end surveille les modifications des données dans une certaine table de données côté serveur. PHP socket et nodejs socket.io n'écoutent que les événements sur le port du socket, mais comment obtenir des modifications dans la base de données ?
Cette table de données peut être mise à jour par l'utilisateur côté socket, ou peut ne pas l'être côté socket. Parfois, les données peuvent être modifiées par l'administrateur. Alors, comment le socket côté serveur écoute-t-il les événements de modification de données, puis les renvoie-t-il au front-end ? !
La base de données peut être mysql ou mongo.
Solution :
Au niveau de l'application, de manière générale, des intercepteurs et d'autres méthodes sont utilisés pour mettre en œuvre la surveillance des modifications, mais cette méthode ne peut pas résoudre le problème de la modification directe sur du côté de la base de données.
Il existe généralement trois méthodes au niveau de la base de données :
1. Les bases de données commerciales telles qu'Oracle fournissent un mécanisme de surveillance des événements qui peut informer de manière proactive la partie qui se connecte des modifications des données. ;
2. Utilisez des déclencheurs, définissez des déclencheurs sur les tables qui doivent être surveillées, puis appelez des fonctions php pour déclencher des mécanismes externes ;
3. être surveillé, mais seulement écrire dans la table du journal, l'externe doit toujours interroger la table du journal
4. Surveiller ou analyser le journal de la base de données pour découvrir chaque changement dans la base de 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!