首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法让MySQL服务器“推送”数据库更新到客户端程序?

问有没有办法让MySQL服务器“推送”数据库更新到客户端程序?
EN

Stack Overflow用户
提问于 2009-11-21 03:45:29
回答 6查看 6.4K关注 0票数 3

一个典型的场景是:假设一个用户正在向MySQL提供数据,而一个客户端远程连接到MySQL。每当用户更新数据库中的字段时,我希望立即通知客户端。

把这看作是黑莓的“推送邮件”功能。

我不想要的是,客户端必须偶尔'ping‘MySQL服务器,看看是否有任何更新。我相信这将是昂贵的,计算明智的。

我该如何实现这样的想法呢?是否有基于MySQL的回调机制?如果没有,有没有其他数据库(最好是开源的)支持这种机制?

EN

回答 6

Stack Overflow用户

发布于 2009-11-21 03:54:51

对于对缓存无效技术感兴趣的主动连接客户端:

  • SQL Server支持Continuous Query Notifications.
  • MySQL支持复制流,但它们与更新通知不同:它们不能为客户端动态设置和拆卸,并且不能很好地监视特定应用程序感兴趣的单个行。

对于对数据同步感兴趣的断开连接的客户端,所有供应商都支持某种类型的复制。

票数 4
EN

Stack Overflow用户

发布于 2009-11-21 03:57:34

没有回调机制,但是如果你创建了一个其他人用来进行更新的服务,那么你可以手工制作该服务来推送你想要的通知。

票数 2
EN

Stack Overflow用户

发布于 2009-11-21 03:51:05

我的建议是使用计时器服务来随机轮询数据库中的任何变化,或者使用消息队列,每次队列的大小大于0时,向任何应该发现它的人发送一条消息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1772810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档