当前位置: 首页 > news >正文

Redis-数据类型-Geospatial(地理空间索引)

文章目录

  • 1、查看redis是否启动
  • 2、通过客户端连接redis
  • 3、切换到db5数据库
  • 4、将地理位置信息(经度和纬度)添加到 Redis 的键(key)中
    • 4.1、添加大江商厦
    • 4.2、添加西部硅谷
  • 5、升序返回有序集key,让分数一起和值返回的结果集
  • 6、获取指定地区的坐标
  • 7、计算两地之间的直接距离
  • 8、查询某个地理位置附近的其他位置
  • 9、在指定元素周围查找其他元素

1、查看redis是否启动

[root@localhost ~]# ps -ef | grep redis
root       4270      1  0 05:51 ?        00:00:37 /usr/local/redis/bin/redis-server *:6379
root       9104   6858  0 12:42 pts/0    00:00:00 grep --color=auto redis
[root@localhost ~]# 

2、通过客户端连接redis

[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

3、切换到db5数据库

127.0.0.1:6379> select 5
OK
127.0.0.1:6379[5]> 

4、将地理位置信息(经度和纬度)添加到 Redis 的键(key)中

GEOADD 是 Redis 的一个命令,用于将地理位置信息(经度和纬度)添加到 Redis 的键(key)中。这些位置信息通常以有序集合(sorted set)的形式存储,每个位置信息都与一个成员(member)相关联。
百度地图拾取坐标系统

4.1、添加大江商厦

在这里插入图片描述

127.0.0.1:6379[5]> geoadd p1 121.243007 31.022285 sh_djss
(integer) 1
127.0.0.1:6379[5]> 

在这里插入图片描述

4.2、添加西部硅谷

在这里插入图片描述

127.0.0.1:6379[5]> geoadd p1 113.844461 22.632091 sz_xbgg
(integer) 1
127.0.0.1:6379[5]> 

在这里插入图片描述

5、升序返回有序集key,让分数一起和值返回的结果集

127.0.0.1:6379[5]> zrange p1 0 -1 withscores
1) "sz_xbgg"
2) "4046523425752402"
3) "sh_djss"
4) "4054745256311612"
127.0.0.1:6379[5]> 

6、获取指定地区的坐标

127.0.0.1:6379[5]> zrange p1 0 -1 withscores
1) "sz_xbgg"
2) "4046523425752402"
3) "sh_djss"
4) "4054745256311612"
127.0.0.1:6379[5]> geopos p1 sh_djss
1) 1) "121.24300628900527954"2) "31.02228624491348086"
127.0.0.1:6379[5]> geopos p1 sz_xbgg
1) 1) "113.84445995092391968"2) "22.63209052705867208"
127.0.0.1:6379[5]> 

7、计算两地之间的直接距离

127.0.0.1:6379[5]> geodist p1 sh_djss sz_xbgg km
"1186.7119"
127.0.0.1:6379[5]> 

8、查询某个地理位置附近的其他位置

127.0.0.1:6379[5]> georadius p1 121.243007 31.022285 1200 km
1) "sz_xbgg"
2) "sh_djss"
127.0.0.1:6379[5]> 

9、在指定元素周围查找其他元素

127.0.0.1:6379[5]> georadiusbymember p1 sh_djss 1200 km
1) "sz_xbgg"
2) "sh_djss"
127.0.0.1:6379[5]> 

在这里插入图片描述

http://www.lryc.cn/news/382947.html

相关文章:

  • Python联动Mysql
  • vue3-openlayers 轨迹回放(历史轨迹)(ol-animation-path实现)
  • 计算机视觉全系列实战教程 (十二):图像分割(阈值分割threshold、分水岭算法watershed的使用步骤、洪水填充floodFill算法的使用)
  • Linux的免交互
  • 查看es p12证书文件过期方法
  • 1.8 无符号大数加、减运算
  • Java常用类--包装类
  • SpringMvcの拦截器全局异常处理
  • JVM虚拟机的组成
  • 探索CSS clip-path: polygon():塑造元素的无限可能
  • 【华为OD机试B卷】单词接龙(C++/Java/Python)
  • 项目实训-vue(十七)
  • Android10 SystemUI系列 需求定制(二)隐藏状态栏通知图标,锁屏通知,可定制包名,渠道等
  • Linux:RAID磁盘阵列
  • MongoDB和AI 赋能行业应用:零售
  • MQ~消息队列能力、AMQP协议、现有选择(Kafka、RabbitMQ、RocketMQ 、Pulsar)
  • 开源网安参与编制的《代码大模型安全风险防范能力要求及评估方法》正式发布
  • 【树状数组 队列】1505. 最多 K 次交换相邻数位后得到的最小整数
  • 【附精彩文章合辑】当谈到程序的“通用性”与“过度设计”的困境时,我们可以通过一些具体的例子来更直观地阐述这些解决方案
  • Word中删除空白页
  • 30.Netty进阶-黏包半包解决方案-短链接
  • 斜堆(数据结构篇)
  • 河南大学24计算机考研数据,有三个学院招收计算机相关专业,都是考的408!
  • ubuntu离线安装docker导入镜像
  • 鸿蒙原生应用元服务开发-位置服务申请权限
  • 基于SpringBoot的“智慧食堂”管理系统设计与实现
  • 高效记录收支明细:揭秘如何通过曲线图精准分析每月开销
  • 开发注意事项
  • Vue79-路由组件独有的2个新的生命周期钩子
  • Lua博客网站支持搜索、评论、登录注册