我目前正在为WordPress开发一些插件,我想知道选择哪条路线。让我们举个例子,您希望在页面上显示最后3个tweet。
在WordPress中,您做事情的方式是正常的。有人进入网站,在生成页面时,通过twitter获取php中的tweet,然后将其显示在您想要的位置。
现在,这方面的小问题是,你必须等待twitter的回应。这需要几毫秒。没有真正的问题,但这个问题只是出于好奇。
在这里,您在初始加载时不需要在WordPress中执行任何操作,但是您确实在其中包含了API。现在只生成页面,一旦页面在客户端完成,就可以通过WordPress插件对服务器执行一个小的AJAX调用,以获取最新的tweet。也被异步调用。
现在,国际海事组织的问题是,你的服务器有更多的压力。首先,您有两个HTTP请求,而不是一个。其次,WordPress内核必须加载两次而不是一次。
现在我知道还有很多其他的选择: 1)直接通过javascript获取tweet,根本不给服务器带来压力。2)缓存tweet,使其从DB中获取,而不是每次使用API。3)从不是WordPress插件的ajax调用中获取tweet。( 4)更多。
现在我的问题是,如果你只比较1和2,这将是一个更好的选择。
注:我只对比较1和2感兴趣,没有其他选择。我正在创建的插件与tweet无关,它只是一个例子来说明这个问题。
发布于 2011-11-12 17:54:05
当然,我建议将tweet缓存在数据库或纯文本文件中。一旦您开始获得大量的流量,您将创建许多点击的Twitter API,并超越他们的限制。既然你不是日夜每30秒发一条推特(希望如此!)你可能会一遍又一遍地拿着同样的东西。
在更新tweet缓存方面,您可以检查每个页面加载的时间是否超过了上次缓存tweet后的X分钟,如果是的话,则更新缓存。每30分钟或每小时添加几个ms到页面加载一次,这不是问题。
在我的经验中,完美的解决方案是创建一个单独的脚本来完成提取和缓存,并通过加载URL在cron作业上运行这个脚本。但是,您需要一台专用服务器(或永久保留您自己的计算机)。
编辑:要回答你的评论,如果你真的只能在选项1和2之间选择,那么我个人会选择选项2,这样用户加载时间就会更短。一个额外的HTTP请求并不是什么大问题(特别是当您已经有其他几个脚本、图像等)。但既然有更好的选择,为什么要在这两种选择之间做出选择呢?
发布于 2011-11-13 11:43:27
既然你只是出于好奇而问,我想对一些事发表评论。你写过加载将需要“几个女士”嗯-这并不总是真的。取决于您的目标用户-有时它可能需要3分钟!例如,我现在在中国,正如你所知道的,它封锁了twitter、facebook、youtube等,结果是:你的页面将不得不等待TIMEOVER --有时长达3分钟。-装货前。在我访问过的其他国家,"twitterFever“花费了20,30秒的时间。装载时间..。所以,如果你的观众只有美国,你可以放弃它。如果没有-去找缓存。
https://webmasters.stackexchange.com/questions/21935
复制相似问题