我们希望使用Foursquare作为我们应用程序的位置数据库.他们的API声明应用程序每小时可以向场地/ *端点发出多达5,000个无用户请求.为了帮助减少请求数量,他们建议您利用缓存来避免在不同用户请求相同信息时重复调用Foursquare API.
对于我们的应用程序,我们希望使用场地/搜索端点来获取位置周围的签入数据.缓存此数据以允许对Foursquare API进行最少量调用的最佳方法是什么?
我们目前的想法是用公里数“km”来表示地球上的一个区域.当用户请求附近的场地时,我们会从他们当前所在的盒子的中心点位置拨打电话到Foursquare,并缓存该盒子的结果.现在,当另一个用户出现时,如果他们也在那个框中,我们可以返回我们为该框最近的用户缓存的结果.如果用户靠近框的边缘,我们将返回它们当前所在框的结果,以及相邻框中的结果.
这是限制请求的好方法吗?我们担心这种技术可能会使用过多的记忆.你如何在你的应用程序中解决它?任何见解都会很棒,谢谢!
最佳答案 这听起来像是缓存场地搜索的好策略.然而,为了在Foursquare
policies上非常清楚,他们表示“要求增加的应用程序通常需要服务器端缓存场地细节.”在授予速率限制增加之前,我们不会将搜索结果的缓存作为明确要求,只调用
venue details.