2

我有一个网页,可以查询许多服务(亚马逊、iTunes 等)以获取每种产品的产品信息。每页有 25 个产品,这意味着这是一个非常缓慢的过程。我实现了存储每个服务的原始输出apc_addapc_fetch函数,其形式为service|country_code|product_id这一切都很好,但在每种情况下,缓存都需要在几个小时后过期。这往往意味着每隔一段时间,就会有人得到一个加载缓慢的页面。

有没有办法,也许通过使用 cron 作业,我可以让服务器完成定期更新缓存的繁重工作?

还是我应该考虑完全不同的方法?

4

2 回答 2

1

您可以运行一个 cron 作业,每隔一段时间从命令行 php 命令调用 php 页面(可能使用一个参数告诉它跳过输出),这样缓存将在您选择的每个时间段刷新。

您甚至可以提供一个参数(可能与以前相同),当您从命令行运行时强制刷新,因此繁重的工作将仅在服务器上完成。

在这种情况下,您不会自动停用缓存,而是仅在 cron 作业运行时才停用。

于 2012-11-21T19:06:33.757 回答
0

您可以编写一个后台服务,从这些服务中获取您需要的信息,并以方便的格式存储它们。我认为您不应该存储原始响应。不要将其视为缓存 - 将其视为主存储。

请记住,来自这些服务的信息将不时更新。根据您请求的信息类型,可能没问题。

于 2012-11-20T12:12:34.247 回答