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

Caching Foursquare场馆/搜索缓存的最佳策略,caching,foursquare,Caching,Foursquare,我们希望使用Foursquare作为我们应用程序的位置数据库。他们的API指出,一个应用程序每小时最多可以向Vincements/*端点发出5000个无用户请求。为了帮助减少请求量,他们建议您利用缓存来避免在不同用户请求相同信息时重复调用Foursquare API 对于我们的应用程序,我们希望使用场馆/搜索端点来获取某个位置的签入数据。缓存这些数据以允许对Foursquare API进行最少调用的最佳方式是什么 我们目前的想法是一公里一公里地缓存代表地球上一个区域的“盒子”。当用户请求附近的场

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

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

我们目前的想法是一公里一公里地缓存代表地球上一个区域的“盒子”。当用户请求附近的场馆时,我们将从他们当前所在的方框的中心点位置呼叫Foursquare,并缓存该方框的结果。现在,当另一个用户出现时,如果他们也在该框中,我们可以返回我们为该框缓存的最接近该用户的结果。如果用户靠近框的边缘,我们将返回他们当前所在框的关闭结果,以及相邻框中的关闭结果


这是限制请求的好方法吗?我们担心这种技术可能会占用太多的内存。在你的应用程序中,你是如何做到这一点的?任何见解都会很好,谢谢

这听起来是一个很好的缓存场馆搜索的策略。然而,为了在Foursquare上说得更清楚一点,他们声明“请求增加的应用程序通常需要服务器端缓存场馆详细信息。”我们不会在允许提高费率限制之前明确要求缓存搜索结果,只会调用

你锻炼了吗?我正在考虑存储原始请求的lat/lng。如果新请求位于lat/lng组合附近,例如20米,则使用缓存结果。