GEOHASH

用法
GEOHASH key [ member ] [ [ member ] ... ]
复杂度
对每个请求的成员,复杂度为 O(1)。
起始版本
3.2.0
ACL 类别
@geo, @read, @slow

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

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

Geohash 字符串属性

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

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

示例

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

RESP2/RESP3 回复

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