php检索多个xml文件性能缓存的最佳方式


php best way to retrieve multiple xml file performance caching

我对如何在性能光学器件中做到这一点有点困惑。

我将尽可能多地描述我的页面的过程。

首先,我的页面显示了我的网站用户正在发布的内容。每秒钟都会添加新内容,但我每页只显示20或50个内容。

现在是我需要帮助的地方:对于我显示的每一个内容,我都需要检索发布该内容的用户的在线状态。此联机状态不是用户在我的网站上的联机状态,而是他在联机软件中的联机状态要检索此状态,我可以下载存储在该软件的Web服务器上的json文件。

我之前说过,我每页显示20个内容,所以我需要下载20个json文件。不,我可以在调用json文件时连接user_id。因此,在1个json文件中,我可以获得20的状态。无论如何,我认为就我的服务器性能而言,每次有人访问我的页面时都下载json文件是不好的。因为这个页面可以被很多人同时访问。

我想我必须对缓存做点什么,但我是新手。如果有人能向我解释如何实现这一点,我会很高兴,我指的是过程,也许还有要使用的主要php函数。

非常感谢!

实现这一点的最简单方法是某种读通缓存。这意味着你首先要检查缓存(可能是memcached)是否有当前数据,否则你要通读并发出请求,然后缓存结果。使用memcached,您可以将数据设置为过期(可能1-5分钟),然后您的代码将再次尝试从源代码中读取数据。

在实现此功能时,您需要考虑网络问题。您需要确保您的请求很快超时,否则用户可能会等待很长时间才能加载页面(如果数据不是来自缓存)

一个更健壮的解决方案将允许异步检查联机状态。加载页面时,您将从缓存中提取数据,如果数据丢失,您将触发一个作业来获取状态并更新缓存。客户端将有ajax代码,它将在页面加载后(希望在后台完成作业后)更新在线状态。页面加载时可用的状态将正确显示,而挂起的状态将显示某种"检查"状态。