我的目的是在Redis(取自OSM)上创建道路速度限制的缓存,在其中搜索纬度和经度的位置,并使用GEORADIUS返回一定半径内的速度限制。
问题是使用:
GEOADD speed-limits -45.000000 10.000000 "90"
如果我添加一个新的头寸,且始终限制为90,则前一个头寸将被覆盖。
你可以
(1)使用复合键作为成员GEOADD speed-limits -45.000000 10.000000 90:timestamp:location
,查询将类似于GEORADIUS speed-limits ... WITHCOORD
,然后用于.split(":")[0]
获取速度。
或者
(2)分开存放速度
GEOADD speed-limits -45.000000 10.000000 timestamp:location
并SET timestamp:location 90
因此这将是一个两步查询过。
第二个建议是完美的,即使开销很小,但更优雅