2

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


我正在使用 Directed Edge 的 REST API 对我的网络应用程序进行推荐。我遇到的问题是,我在整个站点的多个位置查询了大量建议,并且延迟很长,使得每个查询的页面加载时间大约为 2-5 秒。看起来很可怕。

我没有使用 Directed Edge 的 PHP 绑定,而是使用我自己编写的一些 PHP 绑定。您可以在 GitHub 上查看绑定我正在使用 cURL 连接到他们的 API

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

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

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

1 回答 1

2

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

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

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

于 2010-11-22T01:03:52.457 回答