【问题标题】:Twitter-like tweet box?类似 Twitter 的推文框?
【发布时间】:2014-01-12 17:48:04
【问题描述】:

所以我希望做的是有一个类似于推文框的框。当用户输入“@”(我知道,使用keyup 来检测何时),然后他输入一个字母(即“J”)时,我想获取他关注的 4 个人并将其显示为建议(即詹姆斯,杰伊,杰克等......)。我处理这个问题的方法是进行 AJAX 调用,它将查询 sql 表以查找用户关注的所有用户以及其名称以该子字符串开头的用户,但我注意到 FB 与朋友一起做的是它加载访问时用户的所有朋友,这意味着如果您要键入“@”,那么它将搜索客户端数组,而不是不断地查询数据库。虽然我不太确定这是否更好……更好吗?另外,我什么时候加载所有用户的关注用户?只要他/她访问任何页面?它是传统的吗?

tl;dr - 登录用户的用户应该预先加载并存储为数组还是通过查询数据库不断获取?

谢谢。

【问题讨论】:

  • 你在使用像 angular.js 这样的 jquery 框架吗?
  • @dksaini14 不,我不是。
  • 当一个 ajax 调用被发送到服务器时,一个线程在服务器的 CPU 中生成。因此,如果您有 10 个用户在线搜索朋友 ii​​st,它将消耗矿石 CPU。所以更好的选择是组中的获取列表。例如如果您想搜索 Arjun,然后输入 A,它将获取所有名称为 A 的朋友的列表。所以当您输入 R(第二个字母)时,它不会发送 ajax 请求。
  • @dksaini14 哦,我明白了。发布答案,以便我将您标记为最佳答案。
  • @dksaini14:Angular.js 不是一个“jQuery 框架”,不管它是什么。

标签: javascript php jquery mysql sql


【解决方案1】:

当一个 ajax 调用被发送到服务器时,一个线程会在服务器的 CPU 中生成。因此,如果您有 10 个用户在线搜索好友列表,则会消耗更多 CPU。 所以更好的选择是组中的获取列表。例如你想搜索Arjun, 如果您输入 A,它将获取所有名称为 A 的朋友的列表。因此,当您输入 R(第二个字母)时,它不会再次发送 ajax 请求。

【讨论】:

    猜你喜欢
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 2011-04-19
    相关资源
    最近更新 更多