• GEOADD key longitude latitude member [longitude latitude member …]
    • 返回值
    • 代码示例

    GEOADD key longitude latitude member [longitude latitude member …]

    可用版本: >= 3.2.0
    时间复杂度: 每添加一个元素的复杂度为 O(log(N)) , 其中 N 为键里面包含的位置元素数量。

    将给定的空间元素(纬度、经度、名字)添加到指定的键里面。这些数据会以有序集合的形式被储存在键里面,从而使得像 GEORADIUSGEORADIUSBYMEMBER 这样的命令可以在之后通过位置查询取得这些元素。

    GEOADD 命令以标准的 x,y 格式接受参数,所以用户必须先输入经度,然后再输入纬度。GEOADD 能够记录的坐标是有限的:非常接近两极的区域是无法被索引的。精确的坐标限制由 EPSG:900913 / EPSG:3785 / OSGEO:41001 等坐标系统定义,具体如下:

    • 有效的经度介于 -180 度至 180 度之间。

    • 有效的纬度介于 -85.05112878 度至 85.05112878 度之间。

    当用户尝试输入一个超出范围的经度或者纬度时,GEOADD 命令将返回一个错误。

    返回值

    新添加到键里面的空间元素数量,不包括那些已经存在但是被更新的元素。

    代码示例

    1. redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
    2. (integer) 2
    3.  
    4. redis> GEODIST Sicily Palermo Catania
    5. "166274.15156960039"
    6.  
    7. redis> GEORADIUS Sicily 15 37 100 km
    8. 1) "Catania"
    9.  
    10. redis> GEORADIUS Sicily 15 37 200 km
    11. 1) "Palermo"
    12. 2) "Catania"