Redis-GEO
一. Redis的GEO特性
Redis3.2版本提供了GEO功能,支持存储地理位置信息用来实现诸如摇一摇,附近位置这类依赖于地理位置信息的功能。
二. 命令
2.1 增加地理位置信息
命令:geoadd key longitude latitude member[longitude latitude member…]
例如:geoadd cities:locations 116.28 39.55 beijing 117.12 39.08 tianjin114.29 38.02 shijiazhuang 118.01 39.38 tangshan 115.29 38.51 baoding
返回:4
2.2 获取地理位置信息
命令:geopos key member[member…]
例如:geopos cities:locations tianjin beijing
返回:
1) 1) "117.12000042200088501"
2) "39.0800000535766543"
2) 1) "116.28000229597091675"
2) "39.5500007245470826"
2.3 获取两个地理位置的距离
命令:geodist key member1 member2 [unit]
选项:unit:单位,默认为m(米)
m:米
km:千米
mi:英里
ft:尺
例如:
10.3.34.101:6378> geodistcities:locations beijing tianjin
"89206.0576"
10.3.34.101:6378> geodistcities:locations beijing tianjin km
"89.2061"
10.3.34.101:6378> geodistcities:locations beijing tianjin m
"89206.0576"
10.3.34.101:6378> geodist cities:locationsbeijing tianjin mi
"55.4302"
10.3.34.101:6378> geodistcities:locations beijing tianjin ft
"292670.7926"
2.4 获取指定位置范围内的地理信息位置集合
(1)中心为坐标
georadius key longtitude latitude radiumm|km|mi|ft [withcoord][withdist][withhash][COUNT count][asc|desc][store key][storedistkey]
(2)中心为成员
georadius key member radium m|km|mi|ft [withcoord][withdist][withhash][COUNTcount][asc|desc][store key][storedist key]
选项:
withcoord:返回结果中包含经纬度
withdist:返回结果中包含离中心节点位置的距离
withhash:返回结果中包含geohash
Count count:返回结果的数量
asc|desc:按照离中心节点的距离做升序或者降序
store key:将返回结果的地理位置信息保存在指定键中
stroedist key:将返回结果离中心点的距离保存在指定键中
例如:
10.3.34.101:6378> georadiusbymembercities:locations beijing 150 km
1) "beijing"
2) "tianjin"
3) "tangshan"
4) "baoding"
10.3.34.101:6378> georadiusbymembercities:locations beijing 15 km
2.5 获取geohash
geohash将二维经纬度转换为一维字符串,字符串越长,精度越高,当长度为9时,精度在2米左右。
Geohash长度
精度
1
2500
2
630
3
78
4
20
5
2.4
6
0.61
7
0.076
8
0.019
9
0.002
命令:geohash key member[member…]
例如:geohash cities:locations beijing
1) "wx48ypbe2q0"
2.6 删除地理位置信息
GEO没有删除成员的命令,但是因为GEO的底层实现是zset,所以可以借用zrem命令实现对地理位置信息的删除。
命令:zrem key member
---------------------
作者:大道化简
来源:CSDN
原文:https://blog.csdn.net/sunhuiliang85/article/details/75020341
版权声明:本文为博主原创文章,转载请附上博文链接!
Redis-GEO的更多相关文章
- Redis Geo: Redis新增位置查询功能
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/144.html 移动互联网增进了人与人之间的联系,其中基于位置信息的服务( ...
- 转:Redis Geo: Redis新增位置查询功能
原文来自于:http://www.infoq.com/cn/news/2015/07/redis-geo 移动互联网增进了人与人之间的联系,其中基于位置信息的服务(Location Based Ser ...
- redis GEO地理位置命令介绍
GEOADD keylongitude latitude member [longitude latitude member ...] Available since 3.2.0. Time comp ...
- Redis GEO 功能使用场景
本文来源:https://www.dazhuanlan.com/2020/02/05/5e3a0a3110649/ 背景 前段时间自己在做附近直播相关业务,其中有一个核心的点就是检索用户附近的主播,也 ...
- Redis GEO 地理位置
目录 GEO指令 GEOADD GEODIST GEOPOP GEOHASH GEORADIUS GEORADIUSBYMEMBER 指令补充 删除操作 避免单集合数量过多 存储原理 GEOADD存储 ...
- redis geo 初探
redis的geo搜索功能是3.2之后新增的,所以实验开始之前先查看redis的版本,确保版本正确. redis的geo多用于地理类应用,所以这次还是用了高德地图API来用作数据源. 首先截取几个点: ...
- Redis GEO ,GEOHASH,Spatial_index
https://matt.sh/redis-geo http://antirez.com/latest/0 http://invece.org/ https://github.com/davidmot ...
- 【转】redis GEO地理位置
redis目前已经到了3.2版本,3.2版本里面新增的一个功能就是对GEO(地理位置)的支持. 地理位置大概提供了6个命令,分别为: GEOADD GEODIST GEOHASH GEOPOS GEO ...
- Redis GEO 特性在 LBS 中的应用总结
什么是LBS LBS(Location Based Service),基于位置的服务. Redis和GEO Redis 是最热门的 nosql 数据库之一,它的最大特点就是快.所以在 LBS 这种需要 ...
- Redis Geo HyperLogLog类型介绍
Geo类型 Redis3.2.0版本推出 可以将用户给定的地理位置信息存储起来,并对这些信息进行操作 GEOADD key longitude latitude member [longitude ...
随机推荐
- Python学习笔记(九)——字符串
# 5.1 字符串的拼接 str1 = '我今天一共走了' num = 1280 str2 = '步' print(str1+str(num)+str2) # 计算字符串长度 print(len(st ...
- VS 解决方案
//1.如果你的VS用到了环境变量,你在更改了环境变量路径后需要重启VS
- bzoj_auto_submiter(辣鸡Py毁我青春系列)
听说你们的bzoj小号都很厉害? 不如试试bzoj金坷垃——bzoj_auto_submiter! 把所有的代码拖进解压后的文件夹,然后双击run.cmd. 看到有chrome浏览器窗口弹出来不要慌, ...
- 主席树/线段树模拟归并排序+二分答案(好题)——hdu多校第4场08
用主席树写起来跑的快一点,而且也很傻比,二分答案,即二分那个半径就行 主席树求的是区间<=k的个数 #include<bits/stdc++.h> using namespace s ...
- 硬核二分——cf985D
分两种情况进行讨论,要注意判条件时会有爆ll #include<bits/stdc++.h> using namespace std; #define ll long long ll n, ...
- hive的数据存储格式
hive的数据存储格式 Hive支持的存储数的格式主要有:TEXTFILE(行式存储) .SEQUENCEFILE(行式存储).ORC(列式存储).PARQUET(列式存储). 1 列式存储和行式存储 ...
- gnome/KDE安装,gnome出现问题,重新安装nvdia驱动, Linux(CentOS7) NVIDIA GeForece GTX 745 显卡驱动
新安装显示gtx745驱动NVIDIA-Linux-x86_64-346.59.run, yum groupremove kde-desktop yum groupinstall "Desk ...
- ZK4字命令
zookeeper4字命令:两种方式,1.通过telnet链接服务器,执行stat.2.echo stat|nc xxx.xxx.xxx.xxx 2181效果是一样的conf:zk服务器运行时的基本信 ...
- 拾遗:Unix 守护进程编写规范
//标准库自带函数,通常以 daemon(0, 0) 方式调用 int daemon(int nochdir, int noclose) Linux: #include <unistd.h> ...
- 转:手机端html5触屏事件(touch事件)
touchstart:触摸开始的时候触发 touchmove:手指在屏幕上滑动的时候触发 touchend:触摸结束的时候触发 而每个触摸事件都包括了三个触摸列表,每个列表里包含了对应的一系列触摸点( ...