在提交DB中的更改时触发一个函数



我一直想知道是否有可能创建一个代码块(可能是php代码),当某个更改提交到数据库时,将执行

例如,聊天应用程序。当用户发送消息时,它会将消息添加到表中,然后我想强制所有其他用户发出AJAX请求来读取这个新值(而不是每100ms发送AJAX请求来检查是否有新消息)

我记得一些涉及node.js和其他类型的DB而不是mysql的东西。如果这是唯一的解决方案,它可以与正常的mysql数据库一起工作吗?

提前感谢!

是的,MySQL支持触发器,但是它们在执行其他数据操作时受到很大限制。所以你仍然需要向javascript客户端发送一些通知

使用websocket或comet实现客户端通知的更好方法,允许服务器从消息队列推送通知。

您没有提供太多关于编程环境的细节,所以我将把它留给您来遵循我上面给出的标记链接,并研究使用这些通用方法的适当工具和框架。


你的评论:

  • 对于PHP,这里有一个示例"推送"聊天应用程序:http://www.aljtmedia.com/blog/websockets-for-php-ratchet-push-chat-application/

  • 这是一个关于使用消息队列的入门教程:http://blog.thecodepath.com/2013/01/06/asynchronous-processing-in-web-applications-part-2-developers-need-to-understand-message-queues/

  • 这里是RabbitMQ的教程(PHP可用的许多MQ解决方案中的一个简单选项),包括PHP示例:https://www.rabbitmq.com/getstarted.html

最新更新