更新:我决定采纳以下建议并在我的应用程序中实现 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);