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

⑦【Redis GEO 】Redis常用数据类型:GEO [使用手册]

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

Redis GEO

  • ⑦Redis GEO 基本操作命令
      • 1.geoadd 存储指定的地理空间位置(精度、维度、位置名称)
      • 2.geopos 返回指定位置名称的经度和纬度
      • 3.geohash 获取保存位置的geohash值
      • 4.geodist 返回两个位置元素之间的距离(单位:m|km|ft|mi)
      • 5.georadius 获取key中指定经纬度范围内的所有位置元素(给定经纬度)
      • 6.georadiusbymember 获取key中指定范围内的所有位置元素(给定位置元素)


⑦Redis GEO 基本操作命令



  • Redis GEO主要用于存储地理位置信息,并对存储的选项进行操作:
  • 1.添加地理位置的坐标
  • 2.获取地理位置的坐标
  • 3.计算两个地理位置间的距离
  • 4.根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。

中文乱码处理

redis-cli -a 123456 --raw
# redis-cli进入redis控制台,-a输入密码,--raw避免中文乱码问题

1.geoadd 存储指定的地理空间位置(精度、维度、位置名称)



  • geoadd用于存储指定的地理空间位置到key中,语法:

geoadd key [NX|XX] [CH] longitude latitude member [longitude latitude member ...]

  • longitude —— 精度
  • latitude —— 维度
  • member —— 位置名称

geoadd city 121.48941 31.40527 "广州"

在这里插入图片描述



2.geopos 返回指定位置名称的经度和纬度



  • geopos用于从指定key中返回所有指定位置名称的经度和纬度,不存在返回nil

geopos key member [member ...]


geopos city 广州 # 获取空间名称“广州”的经纬度
geopos city 深圳 # 没有存储“深圳”的空间名称,返回nil

在这里插入图片描述



3.geohash 获取保存位置的geohash值



  • Redis GEO 使用geohash来保存地理位置的坐标
  • geohash用于获取一个或多个位置元素的geohash值
  • geohash算法生成的是base32编码值,过程:
  • 在这里插入图片描述

geohash key member [member ...]


# 获取key:city中位置元素“广州”的geohash值
geohash city "广州"

在这里插入图片描述



4.geodist 返回两个位置元素之间的距离(单位:m|km|ft|mi)



  • geodist 用于返回两个给定位置间的距离

geodist key member1 member2 [M|KM|FT|MI]

  • m —— 米
  • km —— 千米
  • ft —— 英尺
  • mi —— 英里

geodist city 广州 上海 KM
geodist city 广州 上海 M
geodist city 广州 上海 FT
geodist city 广州 上海 MI

在这里插入图片描述



5.georadius 获取key中指定经纬度范围内的所有位置元素(给定经纬度)



  • georadius 以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

georadius key longitude latitude radius M|KM|FT|MI [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC|DESC] [STORE key] [STOREDIST key]

  • longitude :经度
  • latitude :维度
  • radius : 最大距离
  • WITHDIST :在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。
  • WITHCOORD : 将位置元素的经度和维度也一并返回。
  • WITHHASH : 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。
  • COUNT count :限定返回的最大记录数。

# 键:city
# 经度和纬度:121.48941010236740112 31.40526993848380499
# 以经纬度为中心,向外扩张的最大距离:2000
# 单位:km
# withcoord:将获取到的位置元素的经纬度一并返回
# withdist:返回坐标元素与给定经纬度中心的距离
georadius city 121.48941010236740112 31.40526993848380499 2000 km withcoord withdist count 2

在这里插入图片描述



6.georadiusbymember 获取key中指定范围内的所有位置元素(给定位置元素)



  • 找出位域指定范围内的元素,中心点是由给定的位置元素决定的

georadiusbymember key member radius M|KM|FT|MI [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC|DESC] [STORE key] [STOREDIST key]

  • radius : 最大距离
  • WITHDIST :在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。
  • WITHCOORD : 将位置元素的经度和维度也一并返回。
  • WITHHASH : 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。
  • COUNT count :限定返回的最大记录数。

georadiusbymember city 广州 2000 km withcoord withdist count 2

在这里插入图片描述





在这里插入图片描述

相关文章:

  • centos7卸载mongodb数据重新安装时无法安装的问题
  • 3.1 CPU内部结构与时钟与指令
  • Vite CSS Module 优雅的处理样式隔离
  • R数据分析:集成学习方法之随机生存森林的原理和做法,实例解析
  • CentOS 7实现类似于Kali Linux中的自动补全功能
  • css实现图片绕中心旋转,鼠标悬浮按钮炫酷展示
  • 在两个java项目中实现Redis的发布订阅模式
  • 车载电子电器架构 ——电子电气架构设计方案概述
  • 【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析模拟实现
  • Linux云服务器打包部署前端Vue项目
  • 从零开始,用Docker-compose打造SkyWalking、Elasticsearch和Spring Cloud的完美融合
  • 【理解ARM架构】操作寄存器实现UART | 段的概念 | IDE背后的命令
  • Linux中flask项目开启https访问
  • 汇编-PROTO声明过程
  • 中职组网络安全B模块-渗透提权2
  • CentOS7 安装JDK
  • CSS实用技巧干货
  • docker-consul
  • ES6语法详解(一)
  • JavaScript的使用你知道几种?(上)
  • jquery cookie
  • Linux各目录及每个目录的详细介绍
  • Nacos系列:Nacos的Java SDK使用
  • Shadow DOM 内部构造及如何构建独立组件
  • ubuntu 下nginx安装 并支持https协议
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • Webpack 4 学习01(基础配置)
  • 闭包--闭包之tab栏切换(四)
  • 从输入URL到页面加载发生了什么
  • 面试遇到的一些题
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • ionic异常记录
  • puppet连载22:define用法
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​业务双活的数据切换思路设计(下)
  • #stm32整理(一)flash读写
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (1)(1.13) SiK无线电高级配置(六)
  • (2)STL算法之元素计数
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (BFS)hdoj2377-Bus Pass
  • . Flume面试题
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net 4.0发布后不能正常显示图片问题
  • .net core 6 集成和使用 mongodb
  • .net framework4与其client profile版本的区别
  • .net mvc 获取url中controller和action
  • .NET Reactor简单使用教程
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • ?.的用法
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @media screen 针对不同移动设备
  • [ 手记 ] 关于tomcat开机启动设置问题
  • []新浪博客如何插入代码(其他博客应该也可以)