GEOHASH

语法
GEOHASH key [member [member ...]]
可用版本
Redis 开源版 3.2.0
时间复杂度
对于每个请求的成员,时间复杂度为 O(1)。
ACL 类别
@read, @geo, @slow,

返回有效的 Geohash 字符串,表示有序集合值中一个或多个元素的地理空间索引位置(这些元素是使用 GEOADD 添加的)。

通常,Redis 使用 Geohash 技术的一种变体来表示元素位置,其中位置使用 52 位整数编码。与标准相比,编码也不同,因为编码和解码过程中使用的初始最小和最大坐标不同。然而,此命令返回一个标准 Geohash 字符串形式,如 Wikipedia 文章所述,并与 geohash.org 网站兼容。

Geohash 字符串属性

该命令返回 11 个字符的 Geohash 字符串,因此与 Redis 内部的 52 位表示相比,没有精度损失。返回的 Geohash 具有以下属性:

  1. 可以通过从右侧删除字符来缩短它们。这会损失精度,但仍指向同一区域。
  2. 可以在 geohash.org URL 中使用它们,例如 http://geohash.org/<geohash-string>。这是一个此类 URL 的示例
  3. 具有相似前缀的字符串是邻近的,但反之则不成立,具有不同前缀的字符串也可能邻近。

示例

GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania" GEOHASH Sicily Palermo Catania

RESP2 回复

数组回复:一个数组,其中每个元素是与作为命令参数传递的每个成员名称相对应的 Geohash。

RESP3 回复

数组回复:一个数组,其中每个元素是与作为命令参数传递的每个成员名称相对应的 Geohash。
评价此页面
返回顶部 ↑