腾讯云分布式缓存数据库 geo 族

Geo 族命令用于地理位置信息的存储与空间查询,底层基于 Sorted Set 的 Geohash 编码实现。该族命令适用于 LBS(基于位置的服务)中的”附近的人”、门店查找、配送范围计算等场景。其核心命令按功能可分为以下三类。

相关产品
腾讯云分布式缓存数据库(兼容 Redis) 产品页,含版本规格、价格与购买入口。

一、基本介绍

·位置写入与查询

·GEOADD:将经纬度坐标与成员名称写入底层 Sorted Set。

·GEOPOS:返回已存储成员的地理坐标。

·GEODIST:计算两成员间的直线距离,支持 m(米)、km(千米)、mi(英里)、ft(英尺)四种距离单位。

·圆形范围查询(Redis 3.2+)

·GEORADIUS:以指定坐标点为圆心,按半径范围检索附近成员,支持按距离排序、返回距离/坐标/Geohash。

·GEORADIUSBYMEMBER:以已有成员为圆心进行同逻辑检索。

·通用空间查询(Redis 6.2+ / Valkey 8.0+)

GEOSEARCH:在圆形或矩形范围内检索成员,统一替代 GEORADIUS / GEORADIUSBYMEMBER。GEOSEARCHSTORE:将检索结果存入新键,支持持久化查询结果。

更多信息请参见 Valkey 产品文档:Geo 命令组。

二、命令支持概览

·基础命令:geoadd、geohash、geopos、geodist、georadius、georadiusbymember,Redis 4.0、5.0、6.2、7.0版本、Valkey 8.0、9.0的标准架构与集群架构均支持。

·geosearch、geosearchstore 命令:仅 Redis 6.2、7.0 版本及 Valkey 8.0、9.0 版本支持。Valkey 9.0新增 BYPOLYGON 选项,支持按自定义多边形区域进行空间查询。

·跨 Slot 限制:Geo 族命令不存在跨 Slot 访问场景。

三、命令兼容性矩阵

Geo 族命令在各版本与架构下的支持情况如下表所示(✓ 表示支持,✗ 表示不支持,— 表示该命令不存在跨 Slot 访问场景)。

命令 Valkey 9.0标准架构 Valkey 9.0集群架构 Redis 7.0/ValKey 8.0标准架构 Redis 7.0/ValKey 8.0集群架构 Redis 6.2标准架构 Redis 6.2集群架构 Redis 5.0标准架构 Redis 5.0集群架构 Redis 4.0标准架构 Redis 4.0集群架构 Redis 2.8标准架构 集群架构跨 Slot 支持
geoadd ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ —
geohash ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ —
geopos ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ —
geodist ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ —
georadius ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ —
georadiusbymember ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ —
geosearch ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
geosearchstore ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
赞 (0)
上一篇 4天前
下一篇 4天前