【问题标题】:Dynamic updates in social networking webpages社交网络网页中的动态更新
【发布时间】:2011-08-25 19:42:32
【问题描述】:

我正在使用 php、jQuery 和 MySQL 创建一个社交网站。我有一个很大的疑问。当他/她的一个朋友执行操作时,如何动态更新用户的主页,如果该朋友更新后必须立即出现在当前用户的页面上。我是新手,请帮我解决这个问题?

【问题讨论】:

  • 我认为这对你有用。 http://stackoverflow.com/questions/5283007/problem-with-creating-chat-room-application
  • 我搜索了一段时间。我发现 setinterval() 有助于定期查询数据库并在我需要的地方加载数据。但我想一定有更好的方法。有人可以帮我吗

标签: php javascript jquery social-networking auto-update


【解决方案1】:

您似乎正在寻找一种方法来实现从您的网络服务器到当前用户页面的推送功能。

推送数据将作为朋友操作的一部分或稍后(以排队方式)发送,一旦到达客户端,应使用 JavaScript 更新视图。

push technologies Wikipedia 页面上描述了一些这样做的方法。

【讨论】:

  • 不介意它是否愚蠢。我的问题是,在服务器推送机制中,客户端是否也会不断地查询数据库并在发现任何更改或其他原因时加载新数据?
  • 这是pull和push的区别... 在pull模式下,客户端会定期查询。在推送中,客户端与服务器有一个开放的通道,服务器只有在有更新时才发送数据。
【解决方案2】:

您可以在网页端添加 JavaScript 计时器功能。并定期检查是否收集到新信息。 如果有信息,则在页面中添加新信息或通知用户。

这是jQuery Timer

这是jQuery.ajax() 的函数。你可以在jQuery Timer中使用这个功能来检查是否有新的信息。

如果有新内容,您可以使用“将元素添加到 DOM”来显示它们。这是此主题的参考,Adding elements to the DOM

我认为这种方式会有所帮助。

【讨论】:

  • 这很好,但有一个疑问,所以一旦在时间间隔内它会查询数据库。这肯定是服务器过载不是吗?
  • 当然,需要考虑服务器过载。您可以在数据库中创建一个表来重新编码是否引发了新事件,如果是,则从其他表中查询详细信息。或者,甚至可以使用 Redis 或其他 NOSQL 实例来执行这些缓存数据查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 2011-05-08
  • 1970-01-01
相关资源
最近更新 更多