Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取和存储用户';什么是实时位置?_Python_Django_Nosql_Redis - Fatal编程技术网

Python 获取和存储用户';什么是实时位置?

Python 获取和存储用户';什么是实时位置?,python,django,nosql,redis,Python,Django,Nosql,Redis,嗨,我正在写一个Android lbs游戏,我需要: 存储用户的实时位置(纬度、经度) 获取接近给定位置的用户 我已经用django和mysql编写了一些后端api(例如,通过他的id获取用户名和年龄) 用django/python实现上述目标的最佳解决方案是什么? 我应该使用像redis这样的nosql数据库吗? 这些职位应该如何存储在数据库中,以便我能够快速获得接近给定职位的职位?您考虑过吗?从文档中: GeoDjango是Django的一个附加组件,它将Django打造成世界级的应用程

嗨,我正在写一个Android lbs游戏,我需要:

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

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

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

用django/python实现上述目标的最佳解决方案是什么?
我应该使用像redis这样的nosql数据库吗?
这些职位应该如何存储在数据库中,以便我能够快速获得接近给定职位的职位?

您考虑过吗?从文档中:

GeoDjango是Django的一个附加组件,它将Django打造成世界级的应用程序 地理网络框架。GeoDjango努力使其尽可能简单 可以创建地理Web应用程序,如基于位置的 服务


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

我从未使用过MongoDB,但在会议上我看到人们谈论这个功能:

我现在仔细阅读了它,并着重于以下几点:

  • 地理空间索引必须为数据库中的每次插入(即再次生成)进行维护,这与Redis不同,Redis中没有索引(Redis中的排序集“可以”解决您的问题,但同样需要做更多的工作)
  • 您将在MongoDB中使用
    find
    和/或
    geoNear
    查询
  • 对于与其他索引的组合查询,必须在创建时指定并组合所有索引
  • 可以在
    geoNear
    中考虑地球曲率来测量距离(使用
    球形属性)。如果未使用此属性(或
    find
    为),则距离将从
    每弧度英里数的固定值转换而来
还有一点好奇:堆栈溢出NoSql标记中的“logo”来自MongoDB