黑马点评项目学习笔记--(9)附近商铺

Geo数据结构的基本用法

redis在3.2版本后加入了对Geo的支持,Geo就是Geolocation,代表地理坐标。
redis中提供了一些命令帮助我们存储地理坐标信息,根据经纬度来检索数据,常见的有:
image.png

演示

1.添加坐标点
image.png
image.png
经纬度被转化成了score

2.计算两点之间的距离
image.png

3.返回某个坐标点的某个范围内的坐标点(由近及远)
image.png

4.查找某个地点的经纬度信息 / 经纬度信息对应的hash值
image.png
转化为 hash 值后可读性更好、存储空间更小

导入店铺信息到Geo

@Test
void loadShopData(){
   
    //1.查询店铺信息
    List<Shop> list = shopService.list();
    //2.把店铺分组,按照typeId分组,typeId一致的放到一个集合
    Map<Long, List<Shop>> map = list.stream().collect(Collectors.groupingBy(Shop::getTypeId));
    //3.分批完成写入Redis
    for(Map.Entry<Long,List<Shop>> entry : map.entrySet()){
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值