Wie überwacht man Datenänderungen in der Datenbank?
Notwendigkeit, Echtzeit-Push-Nachrichten zu implementieren. Das Front-End verwendet Websocket und das Back-End verwendet PHP und Node.js. (Empfohlenes Lernen: PHP-Video-Tutorial)
Das aktuelle Problem besteht darin, dass das Frontend Datenänderungen in einer Datentabelle auf der Serverseite überwacht. Sowohl PHP Socket als auch NodeJS Socket.io überwachen nur Ereignisse am Socket-Port, aber wie erhält man Änderungen in der Datenbank?
Diese Datentabelle kann vom Benutzer auf der Socket-Seite aktualisiert werden oder nicht. Manchmal können die Daten vom Administrator geändert werden. Wie hört also der Socket auf der Serverseite auf Datenänderungsereignisse und schiebt sie dann zurück an das Frontend? !
Die Datenbank kann MySQL oder Mongo sein.
Lösung:
Auf Anwendungsebene werden im Allgemeinen Interceptoren und andere Methoden zur Implementierung der Änderungsüberwachung verwendet. Diese Methode kann jedoch das Problem der direkten Änderung nicht lösen die Datenbankseite.
Auf Datenbankebene gibt es im Allgemeinen drei Methoden:
1. Kommerzielle Datenbanken wie Oracle bieten einen Ereignisüberwachungsmechanismus, der die verbindende Partei proaktiv über Datenänderungen informieren kann ;
2. Verwenden Sie Trigger, setzen Sie Trigger für Tabellen, die überwacht werden müssen, und rufen Sie dann PHP-Funktionen auf, um externe Mechanismen auszulösen überwacht werden, aber nur in die Protokolltabelle schreiben.
4: Überwachen oder scannen Sie das Datenbankprotokoll.
Das obige ist der detaillierte Inhalt vonKann PHP Datenbankänderungen überwachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!