gpt4 book ai didi

用于加载速度的 PHP 和 Javascript/Ajax 缓存 - JSON 和 SimpleXML

转载 作者:行者123 更新时间:2023-11-30 18:42:04 26 4
gpt4 key购买 nike

我有一个网站可以使用一些 JSON 和 XML API 从其他网站获取内容。为了防止加载问题和限制问题,我执行以下操作:

  1. PHP - 使用 PHP 显示缓存的内容(如果有)。
  2. PHP - 如果从未缓存过内容,则显示一个空的错误页面并返回 404。(第二次加载页面时会正常显示“成功 200”)
  3. Ajax - 如果数据库中不存在日期字段,或者当前日期早于存储日期,则从 API 加载/添加内容。将 future 的日期添加到数据库中。 (这使页面加载速度更快,并且 Ajax 会在页面加载后缓存内容)。

我使用 Ajax 只是为了运行 PHP 文件。我使用 PHP 获取内容。

问题

  1. 因为我在内容加载后缓存内容,所以用户将看到旧内容。这是向用户展示新内容的最佳方式。我正在考虑使用 Javascript 自动重新加载页面或消息提示。其他首选方式?
  2. 如果我使用很多 API:s,Ajax 加载时间将会很长,并且出现错误的风险会更大。有没有聪明的方法来分担负载?

第二个问题很重要。

最佳答案

Because I cache the content AFTER it was loaded the user will see the old content. Which is the best way to show the NEW content to the user. I'm thinking automatically with Javascript reload the page or message-nag. Other prefered ways?

我认为您不应该通过 javascript 重新加载页面,而只需使用 Jquery's .load() .通过这种方式,无需重新加载整个页面即可将新内容插入到 DOM 中。也许您突出显示新插入的内容是通过 addClass() 添加一些 CSS .

If I use very many API:s the Ajax loadtime will be long and it's a bigger risk that some error will accur. Is there a clever way of splitting the load?

您不应该首先拆分内容。你应该尝试minimize number of HTTP requests .如果可能,您应该使用某种消息队列(例如 beanstalkd、redis)离线执行所有 API 调用。还将数据缓存在内存数据库中,例如 redis。感谢http://redistogo.com,您可以获得一个免费的 redis 实例.要连接到 redistogo,您可能应该使用 predis

关于用于加载速度的 PHP 和 Javascript/Ajax 缓存 - JSON 和 SimpleXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com