1.引入pom依赖:
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
2.添加点集合
例:redis 命令:geoadd key 116.405285 39.904989 "北京"
3.返回固定半径内所有数据
@Test
public void Radius() {
Circle circle = new Circle(lon,3lat,600);
// includeDistance 包含距离 includeCoordinates 包含经纬度
// sortAscending 正序排序 limit 限定返回的记录数
RedisGeoCommands.GeoRadiusCommandArgs args = RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs()
.includeDistance().includeCoordinates().sortAscending().limit(10);
GeoResults<RedisGeoCommands.GeoLocation<String>> res= redisTemplate.opsForGeo().radius("key", circle, args);
System.out.println(res);
}
4.返回固定半径内最近一条
sortAscending 正序排序 limit 为1 就可以