redis GEO的使用

一、概念

  1. redis的GEO特性在Redis3.2版本发布,这个功能可以将用户给定的地理位置信息储存起来,并对这些信息进行操作。
  2. GEO常用语LBS(Location Based Service),基于位置的服务。

二、GEO相关命令

  • 命令名称:geoadd
  • 语法:geoadd key longitude latitude member [longitude latitude member……]
  • 功能:
    • 将给定的空间元素(维度、经度、名字)添加到指定的键里面。
    • 有效的经度介于-180度至180度之间。
    • 有效的维度介于-85.05112878度至85.05112878度之间。
  • 返回值:
    • 新添加到键里面的空间元素数量,不包括那些已经存在但是被更新的元素。
  • 命令名称:geopos
  • 语法:geopos key member [member……]
  • 功能:
    • 从键里面返回所有给定位置元素的位置(经度和维度)
  • 返回值:
    • 返回一个数组,数组中的每个项都由两个元素组成:第一个元素为给定位置元素的经度,第二个元素为给定位置元素的纬度。
  • 命令名称:geodist
  • 语法:geodist key member1 member2 [unit]
  • 功能:
    • 返回两个给定位置之间的距离。
    • 如果两个位置之间的其中一个不存在,那么返回空值。
    • 指定单位的参数unit必须是一下单位的其中一个:(默认m,km,mi,ft)
  • 返回值:
    • 计算出的距离会以双精度浮点数的形式被返回。如果给定的位置元素不存在,那么命令返回空值。
  • 命令名称:georadius
  • 语法:georadius key longitude latitude radius m|km|gt|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]
  • 功能:1)以给定的经纬度为中心,返回键包含的位置元素当中,与中心的距离不超过给定最大距离的而所有位置元素。
  • 选项:
    • WITHDIST:在返回位置元素的同时,将位置元素与中心之间的距离也一并返回。
    • WITHCOORD:将位置元素的经度和纬度也一并返回。
    • WITHHASH:以52位有符号整数的形式,返回位置元素经过原始geohash编码的有序集合分值。这个选项主要用于底层应用或者调试,实际中的作用并不大。
    • ASC:根据中心的位置,按照从近到远的方式返回位置元素
    • DESC:根据中心的位置,按照从远到近的方式返回位置元素
  • 命令名称:georadiusbymember
  • 语法:georadiusbymemeber key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]
  • 功能:
    • 这个命令和georadius命令一样。
    • 不同的是中心点是由给定的位置元素决定的。
  • 返回值:
    • 一个数组,数组中的每个项表示一个范围之内的位置元素。
  • 命令名称:geohash
  • 语法:geohash key member [member……]
  • 功能:
    • 返回一个或多个位置元素的geohash表示。
  • 返回值:
    • 一个数组,数组中的每个项都是一个geohash。命令返回的geohash的位置与用户给定的位置元素的位置一一对应。

猜你喜欢

转载自www.cnblogs.com/lxhyty/p/11511718.html