PHP 中的初级数据缓存

2023-11-21

我正在使用 simpleXML 来浏览 Twitter XML 文件的 XML 结果,但我完全不知道如何使用 PHP 缓存结果。本文似乎有一些帮助,但我也遇到过memcache(和memcached。来吧,命名者。),我不知道该怎么做。

我正在使用这个:

$sxml = simplexml_load_file(
    'http://api.twitter.com/1/qworky/lists/qworkyteam/statuses.xml');

foreach($sxml->status as $status){
    $name = $status->user->name;
    $image = $status->user->profile_image_url;
    $update = $status->text;
    $url = "http://twitter.com/" . $status->user->screen_name;
}

简单地将 Twitter 列表的 XML 数据存储到可用变量中。但什么是正确的做法呢?创建一个缓存文件,如果缓存文件早于十分钟,则仅运行此 PHP 块,否则提供缓存变量?如何在缓存文件和 DOM 之间来回传递缓存变量?哎呀,缓存文件有什么样的扩展名和文件名?

非常感谢您能在这里为我指明健康的方向。


作为一个一般概念,caching并不意味着实施策略。普遍的想法是,将信息存储在比最初获取数据的位置更有效的访问位置。

所以在这种情况下,从磁盘获取数据比重新查询Twitter(一般是网络latency大于磁盘 IO 延迟)。

此外,从内存获取数据比从磁盘获取信息更有效(因为内存延迟小于磁盘 IO 延迟)。

话虽这么说,如果您愿意,您可以将 Twitter 中的值存储在内存中,或者如果您需要这些值在关闭后持续存在,则可以将其存储到磁盘上的文件中。如何操作取决于您(磁盘或内存、扩展、格式等)。这是你的缓存。

您必须小心的是缓存会变得陈旧。这是指缓存中的信息与原始数据源不同步。您必须为您的应用程序确定陈旧数据的可接受程度,并根据需要重新查询,替换缓存值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 中的初级数据缓存 的相关文章

随机推荐

  • 如何获取字符串中某个模式的所有索引?

    我想要这样的东西 abcdab search a g return 0 4 是否可以 You can use the RegExp exec方法多次 var regex a g var str abcdab var result var m
  • 删除所有出现的新行和制表符

    我仍在学习一些不错的正则表达式 但我认为这会起作用 这有效 str replace g replace r n n r gm 但它的较短版本则不然 我哪里做错了 str replace g r n n r gm 正则表达式分隔符是 所以你有
  • JWT 和一次性令牌?

    我正在滚动我自己的 JWT 令牌身份验证 但是 我真的希望它是一次性令牌 因此一旦使用它 服务器会生成一个新令牌 并且客户端必须在期间使用该令牌下一个请求 调用 然而 据我了解 JWT 应该是 无状态的 但通过一次性令牌的方法 我想我需要以
  • 什么是 BOOST_ROOT?

    我正在尝试构建 x64 版本http code google com p quickfast 这就是构建脚本使用 BOOST ROOT 的方式 set SETUP CHECKING BOOST ROOT BOOST ROOT if not
  • Hibernate 表和列的自动保留字转义

    我正在尝试对几种不同的数据库使用一种 Hibernate 映射 H2 Oracle MySql 每个数据库都有不同的保留字列表 我希望 Hibernate 自动转义保留字 我知道我可以 使用反引号强制转义 为了安全起见 转义所有内容 更改所
  • JavaScript 中 {} 和 [] 之间的区别

    我正在研究 javascript 我遇到了这个 if i do let object object length 它会抱怨 object length 未定义 但 let object object length works 有谁知道为什么
  • nginx 和 uwsgi 服务器中 uwsgi 模块的区别

    我是linux开发新手 我对我读到的文档有点困惑 我的最终目标是托管一个简单的 python 支持的 Web 服务 该服务将检查传入的有效负载 并将其转发到其他服务器 这应该少于 30 行 Python 代码 我计划使用 nginx 来提供
  • 从 C 函数返回多个值

    重要的 请参阅这个非常相关的问题 在 C 中返回多个值 我想知道如何在 ANSI C 中做同样的事情 您会使用结构体还是传递函数中参数的地址 我追求极其高效 快速 的代码 时间和空间 即使以可读性为代价 EDIT 感谢所有的答案 好吧 我想
  • Scala 中的映射类型

    有没有办法从 Scala 中的现有类型派生类型 例如 对于case class Person name String age Int 我想要一个Product Tuple of Option String Option Int 即从现有类型
  • 如何修复警告“CoreUI:RunTimeThemeRefForBundleIdentifierAndName()无法在标识符为'(null)'的捆绑包中找到Assets.car”?

    我正在尝试在 iOS 13 beta 上测试应用程序 当我点击欢迎屏幕上的按钮以转到另一个屏幕时 应用程序冻结然后终止 当我在 Xcode 11 中调试时 我在控制台中看到以下警告行 框架 CoreUI RunTimeThemeRefFor
  • Java 中的 AES-256-CBC

    我正在尝试编写一个简单的 Java 程序 该程序将使用以下命令加密纯文本AES 256 CBC 有类 import javax crypto Cipher import javax crypto spec IvParameterSpec i
  • 第一个带有类的元素的 CSS 选择器

    我有一堆带有类名的元素red 但我似乎无法选择第一个元素class red 使用以下 CSS 规则 home red first child border 1px solid red div class home span blah spa
  • 新的 Apple 登录不断抛出错误 HTTP 400 Invalid_grant

    据苹果公司称doc为了验证 Apple 的授权码 我们需要 POST 到http appleid apple com auth token使用这个参数 java token generateJWT keyId teamId clientId
  • 仅使用 CSS 是否可以保持垂直节奏?

    我正在开发一个面向排版的 WordPress 主题 但我在使用内联图像时遇到了麻烦 我可以控制每个元素并调整其行高 下边距等 以保持垂直节奏 但由于通过编辑器粘贴的图像可以具有任意高度 因此它们显然会破坏以下所有内容 是否可以使用边距 填充
  • 在 Java 中使用 GroupLayout 构建 GUI

    我需要使用 GroupLayout 而不是其他布局 构建 GUI GUI 将如下所示 field 1 field 2 field 3 FFIEEELLLDD4 FIELDDDDDD5 FIEEEEEEEEEEEEEEELDDDD 6 字段
  • 停止 webbrowser C# 控件中的警报 javascript 弹出窗口

    这个网站 有这个代码 所以我的网络浏览器控件显示一个弹出窗口 如何在不使用 sendkeys Enter 的情况下绕过弹出窗口 如果您打算永远不使用alert 函数在您的页面上 您也可以覆盖它 例如 如果你确实需要使用 JavaScript
  • 使用 Powershell 调用 Rest API - CosmosDb

    我试图使用 Cosmos DB REST Api 部署 Cosmos 数据库 我正在使用一个函数来构建授权标头 我从以下位置获取了脚本https gallery technet microsoft com scriptcenter How
  • Python,网络驱动程序错误(Selenium)

    import time from selenium import webdriver from selenium webdriver common action chains import ActionChains from seleniu
  • 从 double 中获取小数部分

    我想以整数的形式接收小数点后的数字 例如 从 1 05 开始仅 05 或从 2 50 开始仅 50not 0 50 最好的方法是 var floatNumber 12 5523 var x floatNumber Math Truncate
  • PHP 中的初级数据缓存

    我正在使用 simpleXML 来浏览 Twitter XML 文件的 XML 结果 但我完全不知道如何使用 PHP 缓存结果 本文似乎有一些帮助 但我也遇到过memcache 和memcached 来吧 命名者 我不知道该怎么做 我正在使