【问题标题】:cache a feed or a finished page?缓存提要或完成的页面?
【发布时间】:2011-05-08 17:28:57
【问题描述】:

我刚开始使用 SimpleXML 获取提要并在我的一个网页上显示来自该 XML 提要的数据。请参阅我的第一篇文章https://stackoverflow.com/questions/5925368/how-to-use-the-weather-gov-xml-feed-on-a-website 我对 PHP 有基本的了解,所以我可能会遗漏一些基本知识。

如果我正确理解发生了什么,每次有人在显示 php 之前查看我的页面时,脚本首先必须去获取提要。然后它执行我要求它对提要执行的操作,然后显示页面。

如果我要缓存提要或格式化提要并缓存它,我认为一切都会更快。哪个更好地缓存原始提要或格式化提要并缓存结果?我该如何进行缓存?

我希望有人可以为我指明一个教程的方向,该教程将教我如何使用 php 缓存内容,或者也许有人有一些示例代码,我可以从中学习和/或适应我的项目?

谢谢。

【问题讨论】:

    标签: php xml caching feed


    【解决方案1】:

    谷歌“简单的 php 缓存教程”或查看this one

    不要像现在这样在屏幕上回显或打印文本,而是使用字符串连接技术构建一个变量,如下所示:

    $html = '<h3>Weather View</h3>';
    
    foreach( element in your xml feed){
    $html .= 'Some more information';
    }
    //then when done
    file_put_contents('weather_cache.txt', $html );
    

    基本上你应该缓存一段 html,然后使用 PHP 将其包含在网页中的正确位置,可能使用 file_get_contents();

    本教程中的逻辑将告诉您如何检查缓存的日期,然后决定 a) 去刷新 xml 并重新创建缓存或 b) 提起并显示缓存的文件

    【讨论】:

      【解决方案2】:

      如果您将 PHP 用于个人网站,您可能无法安装 APC((opcode)cache)(如果您可以安装/使用,则可以使用)。我的建议是使用类似redistogo(cache) 的东西,它对小型网站是免费的。

      如果我明白发生了什么 正确的,每次有人看 我的页面在显示 php 之前, 脚本首先必须去获取 喂养。然后它会做我所要求的 它与饲料有关,然后 显示页面。

      就像你说的你应该缓存提要(redis)。最好的方法是离线(这样用户不必等待你的脚本来获取提要,这需要很多时间(相对)......)通过使用某种 cronjob。有很多免费的网站在你上面cronjobs 比如http://www.onlinecronjobs.com/

      我想一切都会 如果我要缓存 提要或格式化提要和缓存 那。哪个更好地缓存原始数据 提要或格式化提要并缓存 结果?我该如何进行缓存 还是?

      我想我会缓存这两种格式。因为如果您需要,很难从格式化的提要中获取原始提要。

      我可能会使用SETEX 将它们缓存起来,并指定所需的到期时间。缓存过期时从网站获取新副本。过去我使用Predisredistogo 交谈。

      希望有人能指点我 在教程的方向 将教我如何缓存东西 php 或者也许有人有一些例子 我可以从中学习的代码和/或 适应我的项目?

      有很多关于使用redis的教程。例如designing a twitter-clone。如果你做一个适当的谷歌搜索,你会发现很多结果。

      【讨论】:

        【解决方案3】:

        我建议你缓存 RSS 提要的内容。
        There你可以学习,如何使用 APC,它可以成为你的操作码缓存器和非常快速的数据缓存器。

        【讨论】:

          猜你喜欢
          • 2013-11-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-30
          • 1970-01-01
          • 2012-05-30
          相关资源
          最近更新 更多