已解决
Redis数据类型–Geospatial 地理空间
来自网友在路上 11088108提问 提问时间:2023-11-20 13:41:08阅读次数: 108
最佳答案 问答题库1088位专家为你答疑解惑
目录
前言
命令
1、geoadd
1)格式
2)实例
2、geopos
1)格式
2)实例
3、geodist
1)格式
2)实例
4、georadius
1)格式
2)实例
前言
Redis 3.2 中增加了对GEO类型的支持。GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作。
命令
1、geoadd
1)格式
geoadd<key>< longitude><latitude><member> [longitude latitude member...] 添加地理位置(经度,纬度,名称)
2)实例
geoadd china:city 121.47 31.23 shanghai
geoadd china:city 106.50 29.53 chongqing 114.05 22.52 shenzhen 116.38 39.90 beijing
注:两极无法直接添加,一般会下载城市数据,直接通过 Java 程序一次性导入。
有效的经度从 -180 度到 180 度。有效的纬度从 -85.05112878 度到 85.05112878 度。
当坐标位置超出指定范围时,该命令将会返回一个错误。
已经添加的数据,是无法再次往里面添加的。
2、geopos
1)格式
geopos <key><member> [member...] 获得指定地区的坐标值
2)实例
127.0.0.1:6379> geopos china:city shanghai
1) 1)"121.470001637935638432)"31.22999903975783553
3、geodist
1)格式
geodist<key><member1><member2> [m|km|ft|mi ] 获取两个位置之间的直线距离
2)实例
获取两个位置之间的直线距离
127.0.0.1:6379> geodist china:city beijing shanghai km
"1087.4816"
单位:m 表示单位为米[默认值]。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用米作为单位
4、georadius
1)格式
georadius<key>< longitude><latitude>radius m|km|ft|mi 以给定的经纬度为中心,找出某一半径内的元素
经度 纬度 距离 单位
2)实例
127.0.0.1:6379> georadius china:city 110 30 1000 km
1"chongqing
2"shengzhen
查看全文
99%的人还看了
相似问题
- 详解Python安装requests库的实例代码
- 腾讯云4核8G服务器配置价格表,轻量和CVM标准型S5实例
- 类方法,静态方法和实例方法的区别及应用场景
- C#WPF用户控件及自定义控件实例
- 【机器学习】 逻辑回归算法:原理、精确率、召回率、实例应用(癌症病例预测)
- C语言童年生活二三事(ZZULIOJ1091:童年生活二三事(多实例测试))
- QT基础入门【QSS】QT伪状态类型和实例
- spider 网页爬虫中的 AWS 实例数据获取问题及解决方案
- 适合小白的超详细yolov8环境配置+实例运行教程,从零开始教你如何使用yolov8训练自己的数据集(Windows+conda+pycharm)
- python:list和dict的基本操作实例
猜你感兴趣
版权申明
本文"Redis数据类型–Geospatial 地理空间":http://eshow365.cn/6-40376-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!