如何使用PHP从REST API缓存动态数据?

时间:2010-11-22 01:00:27

标签: php api caching rest directed-graph

更新:我决定采用以下建议并在我的应用中实施Memcached层。现在我有了另一个想法。是否可能/一个好主意在轮询(例如每五或十分钟)上执行AJAX请求,检查Memcached,然后在Memcached过期时更新?这样终端用户就不会遇到延迟,因为它在后台静默执行。


我正在使用Directed Edge的REST API在我的网络应用上做推荐。我遇到的问题是我在整个网站的多个位置查询大量建议,并且延迟很重要,使每个查询的页面加载时间为2-5秒。看起来很糟糕。

我没有使用Directed Edge的PHP绑定,而是使用了我自己编写的一些PHP绑定。 You can see the bindings on GitHub我正在使用cURL 连接到他们的API。

如何缓存我收到的数据?我对任意数量的方法持开放态度,只要它们相当容易实现且相当灵活。

以下是获取推荐的客户端代码示例。

$de = new DirectedEdgeRest();
$item = "user".$uid;
$limit = 100;
$tags = "goal";
$recommendedGoals = $de->getRecommended($item, $tags, $limit);

1 个答案:

答案 0 :(得分:2)

您可以使用serialize和file_put_contents缓存到文件:

file_put_contents("my_cache", serialize($myObject));

您也可以缓存到memcached或数据库。