redis实现地图调度

该博客介绍了如何在Spring Boot应用中集成`spring-boot-starter-data-redis`依赖,通过RedisTemplate操作Geo地理位置数据。文章详细展示了如何添加地理位置信息到Redis,并提供了查询指定范围内地理位置的示例代码,包括设置查询参数、限制返回结果数量以及获取匹配的经纬度和关联数据。
摘要由CSDN通过智能技术生成

导入jar包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

提供地址

BoundGeoOperations<String, Object> geo=redisTemplate..boundGeoOps("aaa");
geoOpertions.add(new Point(lng, lat), "json数据");

匹配地址

BoundGeoOperate geo=redisTemplate.boundGeoOps("aaa");
            //lng 经 lat纬 radius半径m(double)
	    Circle within = new Circle(new Point(lng, lat), radius);
	    //设置geo查询参数
	    RedisGeoCommands.GeoRadiusCommandArgs geoRadiusArgs = RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs();
	    //查询返回结果包括距离和坐标
	    geoRadiusArgs = geoRadiusArgs.includeCoordinates().includeDistance();
	    //按查询出的坐标距离中心坐标的距离进行排序
	    geoRadiusArgs.sortAscending();
	    //限制查询返回的数量
	    geoRadiusArgs.limit(limit);
	    GeoResults<RedisGeoCommands.GeoLocation<Object>> geoResults = geoOpertions.radius(within,geoRadiusArgs);
            //打印geoResults.getContent(),可以获取匹配出来的经纬度和json数据
	

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值