首页/数据/Redis 进阶速查/GEO 地理检索:GEOADD 与 GEOSEARCH
本包目录(421 条)
数据结构与选型42 条
持久化56 条主从与哨兵51 条Cluster 集群44 条内存与管理99 条性能与排障129 条

GEO 地理检索:GEOADD 与 GEOSEARCH

基于 ZSet 的 GeoHash 实现:GEOADD 写入经纬度,GEOSEARCH 按半径或矩形范围查询并可返回距离与排序,GEOPOS/GEODIST 取坐标与两点距离。

Redis 进阶速查数据更新于 2026-10-12
写入GEOADD cities 116.4074 39.9042 beijing
查询GEOSEARCH key FROMLONLAT lon lat BYRADIUS 100 km ASC
配套GEOPOS / GEODIST / GEOHASH

示例

示例
redis-cli GEOADD cities 116.4074 39.9042 beijing 121.4737 31.2304 shanghai
redis-cli GEOSEARCH cities FROMLONLAT 116.4074 39.9042 BYRADIUS 1200 km WITHDIST ASC
redis-cli GEODIST cities beijing shanghai km
底层成员是 ZSet 成员,可用 ZREM 删除、ZRANGE 列举;坐标顺序固定为经度在前、纬度在后。

易错点

  • GEORADIUS/GEORADIUSBYMEMBER 自 6.2 起标记为废弃,新代码直接用 GEOSEARCH/GEOSEARCHSTORE
  • 经纬度顺序写反不报错但结果错误,是高频低级问题

数据来源与参考

  • Redis 官方文档:Geo 数据类型 / GEOSEARCH 命令
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌