更新:我决定采用以下建议并在我的应用中实施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);
答案 0 :(得分:2)
您可以使用serialize和file_put_contents缓存到文件:
file_put_contents("my_cache", serialize($myObject));
您也可以缓存到memcached或数据库。