命令相关(完成版请参考:命令大全)
//1.将指定的地理空间位置(纬度、经度、名称)添加到指定的key中
GEOADD key [NX|XX] [CH] longitude latitude member [longitude latitude member ...]
//2.返回两个给定位置之间的距离。如果两个位置之间的其中一个不存在, 那么命令返回空值
指定单位的参数 unit 必须是以下单位的其中一个:
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
GEODIST key member1 member2 m|km|ft|mi
//3.返回一个或多个位置元素的 Geohash 表示
GEOHASH key member [member ...]
//4.从key里返回所有给定位置元素的位置(经度和纬度)
GEOPOS key member [member ...]
//5.以给定的经纬度为中心,返回键包含的位置元素当中,与中心的距离不超过给定最大距离的所有位置元素
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count]
JAVA相关
//1.将指定的地理空间位置(纬度、经度、名称)添加到指定的key中
Long add = defaultRedis.opsForGeo().add("key", new Point(1, 10), "SHANGHAI");
//2.返回两个给定位置之间的距离。如果两个位置之间的其中一个不存在, 那么命令返回空值
Distance distance = defaultRedis.opsForGeo().distance("key", "SHANGHAI", "TIANJIN");
//3.返回一个或多个位置元素的 Geohash 表示
List<String> hash = defaultRedis.opsForGeo().hash("key", "SHANGHAI", "TIANJIN");
//4.从key里返回所有给定位置元素的位置(经度和纬度)
List<Point> position = defaultRedis.opsForGeo().position("key", "SHANGHAI", "TIANJIN");
//5.以给定的经纬度为中心,返回键包含的位置元素当中,与中心的距离不超过给定最大距离的所有位置元素
Circle circle = new Circle(1, 2, 3);
GeoResults<RedisGeoCommands.GeoLocation<Object>> key1 = defaultRedis.opsForGeo().radius("key", circle);