gpt4 book ai didi

python - 获取和存储用户实时位置的最佳解决方案?

转载 作者:IT王子 更新时间:2023-10-29 06:10:25 27 4
gpt4 key购买 nike

您好,我正在编写一个 Android 磅游戏,我需要:

  • 存储用户的实时位置(经纬度)

  • 获取靠近给定位置的用户

我用django和mysql写了一些后端api(例如,通过他的id获取用户名和年龄)。

执行我上面所说的(使用 django/python)的最佳解决方案是什么?
我应该使用像 redis 这样的 nosql 数据库吗?
位置应该如何存储在数据库中,以便我可以快速获得接近给定位置的位置?

最佳答案

嗯,我是Redis的爱好者,但考虑到您的具体问题,有一个 NoSQL 数据库引擎可以更好地支持地理空间查询:MongoDB .

我从未使用过 MongoDB,但在 session 上我看到人们谈论这个功能:http://www.mongodb.org/display/DOCS/Geospatial+Indexing

我现在仔细阅读了它,并重点关注了以下要点:

  • 必须为数据库中的每个插入(即再次生成)维护地理空间索引,这与 Redis 不同,Redis 没有索引之类的东西(Redis 中的排序集“可以”解决您的问题,但同样这会增加很多工作量);
  • 您将在 MongoDB 中使用 find 和/或 geoNear 查询;
  • 对于与其他索引的组合查询,您必须在创建时指定并组合所有索引;
  • 可以在 geoNear 中考虑地球曲率来测量距离(使用 spherical 属性)。如果未使用此属性(或使用了 find),则距离将从 miles per arcdegree固定值转换而来。

还有一个好奇:Stack overflow NoSql 标签中的“标识”来自 MongoDB。

关于python - 获取和存储用户实时位置的最佳解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8432460/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com