【发布时间】:2014-06-01 16:42:18
【问题描述】:
我正在构建在特定区域返回数据(比如说事件)的 REST API。 REST URL 是一个简单的 GET
/api/v1/events?lat=<lat>&lng=<lng>&radius=<radius>.
使用参数lat、lng 和radius(默认为10 英里),纬度和经度是设备或浏览器API 返回的内容。现在不用说,随着用户的移动,lat 和 lng 会不断变化,而且两个用户可以在相同的附近,但 lat / lng 不同。在服务器上缓存此类请求的最佳方法是什么,这样我就不必每次都深入研究业务逻辑。由于 lat/lng 更改,该 URL 不会是唯一的。
谢谢
【问题讨论】:
-
您的意思是在您的应用程序代码中进行缓存,还是使用允许缓存带有查询字符串参数的请求的缓存服务器?
-
所以让我澄清一下,如果两个人请求在 yelp 上获取特定 lat、lng 和 radius 的餐厅信息。让它们之间的绝对距离小于 0.1 英里或某个阈值。你如何对系统进行编码以便从缓存中返回结果而不是进入后端数据库等......
-
好的,你的意思是缓存你的地理定位算法和数据库的结果,这样当你在附近找到另一个位置时,它使用缓存,而不是 http 请求。让我考虑一下。
-
完全正确......我认为这是一个足够普遍的问题......似乎在任何地方都没有找到任何讨论或考虑过。
-
看看 r-trees。不是地球上最快的结构,但可以解决您的问题
标签: rest caching geolocation location http-caching