6_redis十大关系之地理空间GEO

redis十大关系之地理空间GEO

地球上的地址位置都是使用二维的经纬度来表示,经度范围(-180,180),纬度范围(-90,90),只要我们确定一个点的经纬度就可以获取到它在地球上的位置。在redis中,关于GEO相关操作命令如下:

GEOADD 多个经度、纬度、位置名称添加到指定的key中

image-20240310115618416

需要注意的是,如果出现中文乱码情况,需要进行如下的操作:

redis-cli -a password --raw

image-20240310120122235

GEOPOS 从键里返回所有给定位置元素的位置(经度和纬度)

image-20240310120211913

GEODIST 返回两个指定位置之间的距离

image-20240310120311524

image-20240310120710773

GEORADIUS 以给定的经纬度为中心,返回与中心的距离不超过给定半径的所有位置元素(以半径为中心,查找附近的XXX

image-20240310121214302

  • withdist:在返回元素的同时,将为位置元素与中心之间的距离也一并返回。距离的单位和用户给定的范围单位保持一致。
  • withcoord:将位置元素的经度和纬度一并返回。
  • count:限定返回的记录数。

GEORADIUSBYMEMBER 跟GEORADIUS类似

image-20240310122036945

GEOHASH 返回一个或多个位置元素的GEOHASH

GEOHASH算法生成的base32编码值,3维变2维变1维。最后进行哈希编码。

image-20240310120548077

posted @ 2024-03-10 12:22  LilyFlower  阅读(8)  评论(0编辑  收藏  举报