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

时间:2013-07-23 14:26:38

标签: php xml json performance caching

我对性能光学器件中的这个问题感到有些困惑。

我会尝试尽可能多地描述我的页面的过程。

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

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

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

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

非常感谢!

1 个答案:

答案 0 :(得分:1)

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

您需要将网络问题考虑在内。您需要确保您的请求相当快,或者用户可能需要等待很长时间才能加载页面(如果数据不是来自缓存)

更强大的解决方案,允许异步检查在线状态。加载页面时,您将从缓存中提取数据,如果丢失,您将触发作业以获取状态并更新缓存。您将在客户端使用ajax代码,这将在页面加载后更新在线状态(并希望在后台完成作业后)。页面加载时可用的状态将正确显示,待处理的状态将显示某种“检查”状态。