我有一个 MySQL 表,由大约 100 万个纬度和经度组成,每行都有一个主键值。
我想通过 Geohashing 或 lat 和 lon 排序集将此表迁移到 Redis。
有人做过吗?您用于存储和查询数据的方法是什么(例如:查询谷歌地图的纬度/经度范围内的数据)。
我有一个 MySQL 表,由大约 100 万个纬度和经度组成,每行都有一个主键值。
我想通过 Geohashing 或 lat 和 lon 排序集将此表迁移到 Redis。
有人做过吗?您用于存储和查询数据的方法是什么(例如:查询谷歌地图的纬度/经度范围内的数据)。
是的,它已经完成了(使用 geohashing ...)
例如,您可以检查 Geodis 包背后的数据结构(来自 Dvir Volk 和朋友):
https://github.com/doat/geodis
Redis 邮件列表上有一些关于它的讨论:
https://groups.google.com/d/topic/redis-db/Mw0lRzutnkE/discussion https://groups.google.com/d/topic/redis-db/6M-aAPA-iXc/discussion https:// groups.google.com/d/topic/redis-db/Bps95jeRgr8/discussion
您可能想要查看的另一个项目是Tile38。
Tile38 是一个地理定位数据存储、空间索引和实时地理围栏。它支持多种对象类型,包括纬度/经度点、边界框、XYZ 瓦片、Geohashes 和 GeoJSON。
特别是查询似乎真的很好用。例如,您可以设置触发 webhook 的栅栏。
我不知道迁移数据。