GEOHASH

将地理空间索引中的成员作为 geohash 字符串返回。

语法

GEOHASH key [member [member ...]]

引入版本:3.2.0

复杂度摘要:O(1)

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

通常,Redis 使用 Geohash 技术的变体来表示元素的位置,其中位置使用 52 位整数进行编码。与标准相比,编码也不同,因为编码和解码过程中使用的初始最小和最大坐标不同。此命令以字符串形式返回标准 Geohash,如 维基百科文章 中所述。

必需参数

key

保存地理空间索引(有序集合)的键的名称。

member [member ...]

要返回其 Geohash 字符串的一名或多名成员。

详细说明

Geohash 字符串属性

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

  1. 可以通过删除右侧的字符来缩短它们。它们会失去精度,但仍会指向同一区域。
  2. 具有相似前缀的字符串位于附近,但反之则不然,具有不同前缀的字符串也可能位于附近。

示例

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEOHASH Sicily Palermo Catania
1) "sqc8b49rny0"
2) "sqdtr74hyu0"

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

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

RESP3

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

资料来源:Redis 官方 GEOHASH 文档;中文内容参考 Redis 文档许可。