我正在编写一个 websocket 应用程序,只要数据库条目发生更改,它就会将数据推送到我的 php 文件。现在,作为一个非常基本的开始,我设置了一个间隔计时器,并每 20 秒推送一次给客户端,无论是否有更改(这些字段只是用于玩弄 - 密码...):
服务器端:
setInterval(pushData, 20000);
function pushData() {
connection.query('SELECT * FROM testtable WHERE username="michael"', function(err,rows,fields) {
if (err) throw err;
io.emit('newdata', rows[0].password);
});
}
客户端 PHP 脚本:
socket.on('newdata', function(msg) {
var data = document.getElementById('dataentries');
data.innerHTML = msg;
});
仅当数据库条目发生更改时查询和更新的最佳实践方法是什么?我可以设置从mysql到node.js的触发器吗?
最佳答案
最简单也是合法的方法是首先查询数据,检查它们是否已更改,然后进行更改并向客户端发送消息。如果没有改变,则不要进行更新。
关于php - 每当数据库更新时,socket.io 都会推送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27444866/