面试题答案
一键面试- 数据存储:
- 使用
GEOADD
命令来存储城市的地理位置信息。命令格式为:GEOADD key longitude latitude member [longitude latitude member ...]
。 - 例如,要存储北京(经度:116.4074,纬度:39.9042)的信息,假设
key
为city_geo
,则命令如下:
GEOADD city_geo 116.4074 39.9042 北京
- 如果要一次性存储多个城市,可以在命令后继续添加城市的经度、纬度和名称,例如:
GEOADD city_geo 121.4737 31.2304 上海 113.2644 23.1291 广州
- 使用
- 简单查询(查询某个城市距离另一个城市50公里内的所有城市):
- 使用
GEORADIUS
命令,命令格式为:GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
。 - 假设要查询距离北京50公里内的所有城市,命令如下:
GEORADIUS city_geo 116.4074 39.9042 50 km
- 如果希望返回结果中包含距离信息,可以添加
WITHDIST
参数:
GEORADIUS city_geo 116.4074 39.9042 50 km WITHDIST
- 如果还希望返回结果中包含城市的坐标信息,可以再添加
WITHCOORD
参数:
GEORADIUS city_geo 116.4074 39.9042 50 km WITHDIST WITHCOORD
- 使用