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 具有以下属性:
- 可以通过删除右侧的字符来缩短它们。它们会失去精度,但仍会指向同一区域。
- 具有相似前缀的字符串位于附近,但反之则不然,具有不同前缀的字符串也可能位于附近。
示例
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 文档许可。