redis数据结构-Geo

2023/4/13 redisdatabase

🌙 GEO类型

Redis 3.2 中增加了对GEO类型的支持。GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作。

常用命令:

  • GEOADD key longitude latitude member: 添加成员的经纬度信息
  • GEODIST key member1 member2 [unit]: 计算成员间距离
  • GEORADIUS key longitude latitude radius: 基于经纬度坐标的范围查询
  • GEORADIUSBYMEMBER key member radius: 基于经纬度坐标的范围查询
  • GEOPOS key member [member …]: 获取成员经纬度
  • GEOHASH key member [member …]: 计算经纬度Hash

查看GEO命令:

127.0.0.1:6379> help @GEO

  GEOADD key longitude latitude member [longitude latitude member ...]
  summary: Add one or more geospatial items in the geospatial index represented
using a sorted set
  since: 3.2.0

  GEODIST key member1 member2 [unit]
  summary: Returns the distance between two members of a geospatial index
  since: 3.2.0

  GEOHASH key member [member ...]
  summary: Returns members of a geospatial index as standard geohash strings
  since: 3.2.0

  GEOPOS key member [member ...]
  summary: Returns longitude and latitude of members of a geospatial index
  since: 3.2.0

  GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WIT
HHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
  summary: Query a sorted set representing a geospatial index to fetch members m
atching a given maximum distance from a point
  since: 3.2.0

  GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHAS
H] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
  summary: Query a sorted set representing a geospatial index to fetch members m
atching a given maximum distance from a member
  since: 3.2.0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31