Foursquare场地/搜索缓存的最佳策略

时间:2013-10-16 01:09:20

标签: caching foursquare

我们希望使用Foursquare作为我们应用程序的位置数据库。他们的API声明应用程序每小时可以向场地/ *端点发出多达5,000个无用户请求。为了帮助减少请求数量,他们建议您利用缓存来避免在不同用户请求相同信息时重复调用Foursquare API。

对于我们的应用程序,我们希望使用场地/搜索端点来获取某个位置周围的签入数据。缓存此数据以允许对Foursquare API进行最少量调用的最佳方法是什么?

我们目前的想法是用公里数“km”来表示地球上的一个区域。当用户请求附近的场地时,我们会从他们当前所在的盒子的中心点位置拨打电话到Foursquare,并缓存该盒子的结果。现在,当另一个用户出现时,如果他们也在那个框中,我们可以返回我们为该框最近的用户缓存的结果。如果用户靠近框的边缘,我们将返回它们当前所在框的结果,以及相邻框中的结果。

这是限制请求的好方法吗?我们担心这种技术可能会使用过多的记忆。你如何在你的应用程序中解决它?任何见解都会很棒,谢谢!

1 个答案:

答案 0 :(得分:2)

这听起来像是缓存场地搜索的好策略。但是,为了在Foursquare policies上非常清楚,他们声明“请求增加的应用通常需要”服务器端缓存场地详细信息。“在授予速率限制增加之前,我们不会将搜索结果的缓存作为明确要求,只调用venue details