位置请求的缓存策略

rOr*_*lig 7 rest location caching geolocation http-caching

我正在构建REST API,在特定区域返回数据(比如说事件).REST URL是一个简单的GET

/api/v1/events?lat=<lat>&lng=<lng>&radius=<radius>.
Run Code Online (Sandbox Code Playgroud)

与参数lat,lngradius(10英里默认情况下),纬度和经度是设备或浏览器的API什么回报.现在不用说,lat和lng随着用户移动而连续变化,并且两个用户可以是相同的附近,具有不同的lat/lng.在服务器上缓存此类请求的最佳方法是什么,这样我就不必每次都进入业务逻辑.自lat/lng更改后,URL不会是唯一的.

谢谢

tre*_*els 3

我假设您有某种“网格”,当用户请求特定坐标时,您将返回该位置周围的网格图块。因此,您有一个无限的 URL 空间(坐标),映射到有限数量的图块。一种解决方案是将每个请求重定向到该图块的“规范”、缓存友好的 URL,例如

GET /api/v1/events?lat=123&lng=456
=>
302 Found
Location: /api/v1/events?tile=abc
Run Code Online (Sandbox Code Playgroud)

或者,如果您想保留 URL 中的纬度/经度信息,您可以使用图块中心的位置。