【发布时间】:2009-02-25 17:37:30
【问题描述】:
对数据库中的数据更新立即做出反应的最佳方式是什么?
我能想到的最简单的方法是一个线程,它检查数据库中某些数据的特定更改,并在某个预定义的时间长度内不断等待再次检查。这个解决方案对我来说似乎是浪费和次优的,所以我想知道是否有更好的方法。
我认为肯定有某种方法,毕竟像 gmail 这样的网络应用程序似乎能够在向我发送新电子邮件后几乎立即更新我的收件箱。当然,我的客户并不是一直在不断地检查更新。我认为他们这样做的方式是使用 AJAX,但是我不知道 AJAX 如何表现得像一个远程函数调用。我很想知道 gmail 是如何做到这一点的,但我最想知道的是在一般情况下如何使用数据库来做到这一点。
编辑: 请注意,我想立即对客户端代码中的更新做出反应,而不是在数据库本身中,所以据我所知,触发器无法做到这一点。基本上,我希望用户在数据库发生更改后收到通知或更新他的屏幕。
【问题讨论】:
-
哇,很多人似乎都在回应主题标题,但并未真正阅读问题。它不是触发器的人!如果我今天还有任何选票,我会投反对票给他们一个教训,让他们在回答之前阅读该死的问题。
-
嗯,这有点苛刻。这个问题几乎是在问魔法。如果他想立即做出反应,那么触发过程中可能会涉及到触发因素。
-
@Dana:期望人们在尝试回答之前阅读问题并不苛刻。不,他几乎没有要求魔术,他使用真实的工作示例(gmail)作为模型。不,可能不会涉及触发器。
-
标题很差。触发器是标题所提出问题的正确答案。此外,在编辑发生之前,触发器仍然是“如何在一般情况下使用数据库执行此操作”的答案。删除对数据库的引用可能会有所帮助。
-
其实我同意这个标题很糟糕,但我确实想知道如何对数据库中的数据变化做出特别的反应,但关键是在客户端应用程序中对它们做出反应。我会看看我能不能想出一个更好的标题来捕捉这个。
标签: database ajax triggers rfc