MST

星途 面试题库

面试题:Redis Geo在地理位置服务中如何实现附近地点查询

假设你有一个包含多个店铺地理位置信息的Redis Geo集合,现在要查询距离某个给定坐标点10公里范围内的所有店铺,简述实现思路并给出大致的Redis命令。
22.5万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

实现思路

  1. 坐标标准化:确保给定坐标点的格式符合Redis Geo数据结构的要求,一般为经纬度格式。
  2. 使用GEORADIUS命令:该命令用于以给定的经纬度为中心,查询指定半径范围内的元素。

Redis命令

GEORADIUS key longitude latitude radius m

其中:

  • key 是包含店铺地理位置信息的Redis Geo集合的键。
  • longitude 是给定坐标点的经度。
  • latitude 是给定坐标点的纬度。
  • radius 是查询半径,这里为10。
  • m 表示半径的单位为米(因为10公里 = 10000米)。所以完整命令类似:GEORADIUS shops 116.3975 39.9085 10000 m ,假设 shops 是存储店铺地理位置的Geo集合键。