加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

使用Redis和Python构建一个共享单车的应用程序

发布时间:2018-11-15 18:24:37 所属栏目:编程 来源:Tague Griffith
导读:进修怎样行使 Redis 和 Python 构建一个位置感知的应用措施。 我常常出差。但不是一个汽车狂热分子,以是当我有空闲时,我更喜畛刳都市中散步可能骑单车。我旅行过的很多都市都有共享单车体系,你可以租个单车用几个小时。大大都体系都有一个应用措施来帮

GEOPOS 呼吁可觉得 地理哈希geohash 中的给定元素提供坐标(LCTT 译注:geohash 是一种将二维的经纬度编码为一位的字符串的一种算法,常用于基于间隔的查找算法和保举算法)。 譬喻,假如我知道西 38 街 8 号有一个共享单趁魅站,ID 是 523,那么该站的元素名称是 NYC:station:523。 行使 Redis,我可以找到该站的经度和纬度:

  1. 127.0.0.1:6379> geopos NYC:stations:location NYC:station:523
  2. 1) 1) "-73.99138301610946655"
  3. 2) "40.75466497634030105"

GEODIST 呼吁提供两个索引元素之间的间隔。 假如我想找到陆军广场中央公园南单趁魅站与东 58 街麦迪逊单趁魅站之间的间隔,我会行使以下呼吁:

  1. 127.0.0.1:6379> GEODIST NYC:stations:location NYC:station:281 NYC:station:3457 ft
  2. "671.4900"

最后,GEORADIUSBYMEMBER 呼吁与 GEORADIUS 呼吁相同,但该呼吁不是回收一组坐标,而是回收索引的另一个成员的名称,并返回以该成员为中心的给定半径内的全部成员。 要查找陆军广场中央公园南单趁魅站 1000 英尺范畴内的全部趁魅站,请输入以下内容:

  1. 127.0.0.1:6379> GEORADIUSBYMEMBER NYC:stations:location NYC:station:281 1000 ft WITHDIST
  2. 1) 1) "NYC:station:281"
  3. 2) "0.0000"
  4. 2) 1) "NYC:station:3132"
  5. 2) "793.4223"
  6. 3) 1) "NYC:station:2006"
  7. 2) "911.9752"
  8. 4) 1) "NYC:station:3136"
  9. 2) "940.3399"
  10. 5) 1) "NYC:station:3457"
  11. 2) "671.4900"
固然此示例偏重于行使 Python 和 Redis 来理会数据并构建共享单车体系位置的索引,但可以很轻易地衍生为定位餐馆、民众交通可能是开拓职员但愿辅佐用户找到的任何其他范例的场合。 【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读