Python 获取和存储用户';什么是实时位置?
嗨,我正在写一个Android lbs游戏,我需要:Python 获取和存储用户';什么是实时位置?,python,django,nosql,redis,Python,Django,Nosql,Redis,嗨,我正在写一个Android lbs游戏,我需要: 存储用户的实时位置(纬度、经度) 获取接近给定位置的用户 我已经用django和mysql编写了一些后端api(例如,通过他的id获取用户名和年龄) 用django/python实现上述目标的最佳解决方案是什么? 我应该使用像redis这样的nosql数据库吗? 这些职位应该如何存储在数据库中,以便我能够快速获得接近给定职位的职位?您考虑过吗?从文档中: GeoDjango是Django的一个附加组件,它将Django打造成世界级的应用程
- 存储用户的实时位置(纬度、经度)
- 获取接近给定位置的用户
我应该使用像redis这样的nosql数据库吗?
这些职位应该如何存储在数据库中,以便我能够快速获得接近给定职位的职位?您考虑过吗?从文档中: GeoDjango是Django的一个附加组件,它将Django打造成世界级的应用程序 地理网络框架。GeoDjango努力使其尽可能简单 可以创建地理Web应用程序,如基于位置的 服务
好吧,我是一个爱好者,但考虑到您的具体问题,有一个NoSQL数据库引擎可以更好地支持地理空间查询: 我从未使用过MongoDB,但在会议上我看到人们谈论这个功能: 我现在仔细阅读了它,并着重于以下几点:
- 地理空间索引必须为数据库中的每次插入(即再次生成)进行维护,这与Redis不同,Redis中没有索引(Redis中的排序集“可以”解决您的问题,但同样需要做更多的工作)李>
- 您将在MongoDB中使用
和/或find
查询李>geoNear
- 对于与其他索引的组合查询,必须在创建时指定并组合所有索引李>
- 可以在
中考虑地球曲率来测量距离(使用geoNear
球形属性)。如果未使用此属性(或
为),则距离将从find
每弧度英里数的固定值转换而来