当前位置: 首页 > 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]> 

在这里插入图片描述

相关文章:

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

文章目录 1、查看redis是否启动2、通过客户端连接redis3、切换到db5数据库4、将地理位置信息(经度和纬度)添加到 Redis 的键(key)中4.1、添加大江商厦4.2、添加西部硅谷 5、升序返回有序集key,让分数一起和值返回的结果…...

Python联动Mysql

首先配置pip源(不然在安装库的时候会很慢!!!) pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/安装必要库: mysql.connector MySQL 连接器/ODBC 是 MySQL ODBC 驱动程序(以前称为 MyODBC 驱动程序)系列的名称,它使…...

vue3-openlayers 轨迹回放(历史轨迹)(ol-animation-path实现)

本篇介绍一下使用vue3-openlayers轨迹回放(历史轨迹)(ol-animation-path实现) 1 需求 轨迹回放(历史轨迹)实时轨迹 2 分析 轨迹回放(历史轨迹),一般是一次性拿到所有…...

计算机视觉全系列实战教程 (十二):图像分割(阈值分割threshold、分水岭算法watershed的使用步骤、洪水填充floodFill算法的使用)

1.图像分割概述 (1)What(什么是图像分割) 将图像划分为不同的子区域,使得同一子区域具有较高的相似性,不同的子区域具有明显的差异性 (2)Why(对图像进行分割有什么作用) 医学领域:将不同组织分割成不同区域帮助分析病情军事领域&#xff…...

Linux的免交互

交互:我们发出指令控制程序的运行,程序在接收到指令之后按照指令的效果做出对应的反应。 免交互:间接的通过第三方的方式把指令传送给程序,不用直接的下达指令。 1、here document免交互 ere document免交互:是命令…...

查看es p12证书文件过期方法

查看证书过期时间: openssl pkcs12 -in elastic-certificates.p12 -nokeys -out elastic-certificates.crt (需要输入证书生成时配置密码) openssl x509 -enddate -noout -in elastic-certificates.crt...

1.8 无符号大数加、减运算

作者 李卫明 单位 杭州电子科技大学 1.8 无符号大数加、减运算。程序设计中经常遇到无符号大数加、减运算问题,请在样例程序Ex1.4基础上实现无符号大数减运算。题目要求输入两个无符号大数,保证一个大数不小于第二个大数,输出它们的和、差。…...

Java常用类--包装类

包装类 一方面出于性能方面的考虑,java为数值使用基本类型,而不是对象。基本类型不是对象层次的组成部分,它们不继承Object。 另一方面有时需要创建表示基本类型的对象,例如集合类只处理对象。为了在类中存储基本类型,…...

SpringMvcの拦截器全局异常处理

一、拦截器 我们在网上发贴子的时候如果没有登录,点击发送按钮会提示未进行登录,跳转到登录页面。这样的功能是如何实现的。 1、 拦截器的作用 Spring MVC 的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理…...

JVM虚拟机的组成

一、为什么要学习 JVM ? 1. “ ⾯试造⽕箭,⼯作拧螺丝” , JVM 属于⾯试官特别喜欢提问的知识点; 2. 未来在⼯作场景中,也许你会遇到以下场景: 线上系统突然宕机,系统⽆法访问,甚⾄直…...

探索CSS clip-path: polygon():塑造元素的无限可能

在CSS的世界里,clip-path 属性赋予了开发者前所未有的能力,让他们能够以非传统的方式裁剪页面元素,创造出独特的视觉效果。其中,polygon() 函数尤其强大,它允许你使用多边形来定义裁剪区域的形状,从而实现各…...

【华为OD机试B卷】单词接龙(C++/Java/Python)

题目 题目描述 单词接龙的规则是: 可用于接龙的单词首字母必须要前一个单词的尾字母相同;当存在多个首字母相同的单词时,取长度最长的单词,如果长度也相等,则取字典序最小的单词;已经参与接龙的单词不能重复使用。现给定一组全部由小写字母组成单词数组,并指定其中的一个…...

项目实训-vue(十七)

项目实训-vue(十七) 文章目录 项目实训-vue(十七)1.概述2.问诊类型3.问诊时间统计4.看诊时间统计 1.概述 本篇博客将记录我在数据统计页面中的工作。因为项目并未实际运行,因此我们拟定了一些数据,并构建了…...

Android10 SystemUI系列 需求定制(二)隐藏状态栏通知图标,锁屏通知,可定制包名,渠道等

一、前言 SystemUI 所包含的界面和模块比较多,这一节主要分享一下状态栏通知图标和通知栏的定制需求:隐藏状态栏通知图标,锁屏通知,可定制包名,渠道等 来熟悉一下Systemui。 二、准备工作 按照惯例先找到核心类。这里提前说一下,这个需求的修改方法更多,笔者这里也只…...

Linux:RAID磁盘阵列

目录 一、RAID(磁盘阵列) 1.1、概念 1.2、RAID 0(条带化存储) 1.3、RAID 1(镜像存储) 1.4、RAID 5 1.5、RAID 6 1.6、RAID 10 (先做镜像,再做条带) 二、创建RAID 2.1、建立RAID 0 …...

MongoDB和AI 赋能行业应用:零售

欢迎阅读“MongoDB 和 AI 赋能行业应用”系列的第三篇。 本系列重点介绍 AI 应用于不同行业的关键用例,涵盖制造业和汽车行业、金融服务、零售、电信和媒体、保险以及医疗保健行业。 利用生成式 AI 技术(Gen AI),零售商可以创造…...

MQ~消息队列能力、AMQP协议、现有选择(Kafka、RabbitMQ、RocketMQ 、Pulsar)

消息队列 消息队列看作是一个存放消息的容器,当我们需要使用消息的时候,直接从容器中取出消息供自己使用即可。由于队列 Queue 是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。 常⽤的消息队列主要这 五 种,分别…...

开源网安参与编制的《代码大模型安全风险防范能力要求及评估方法》正式发布

​代码大模型在代码生成、代码翻译、代码补全、错误定位与修复、自动化测试等方面为研发人员带来了极大便利的同时,也带来了对安全风险防范能力的挑战。基于此,中国信通院依托中国人工智能产业发展联盟(AIIA),联合开源…...

【树状数组 队列】1505. 最多 K 次交换相邻数位后得到的最小整数

本文涉及知识点 树状数组 队列 LeetCode1505. 最多 K 次交换相邻数位后得到的最小整数 给你一个字符串 num 和一个整数 k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个 数位 。 你可以交换这个整数相邻数位的数字 最多 k 次…...

【附精彩文章合辑】当谈到程序的“通用性”与“过度设计”的困境时,我们可以通过一些具体的例子来更直观地阐述这些解决方案

当谈到程序的“通用性”与“过度设计”的困境时,我们可以通过一些具体的例子来更直观地阐述这些解决方案。以下是一些示例: 一、明确需求与目标 例子1:在线购物平台 需求分析:平台需要支持用户注册、登录、浏览商品、下单购买、…...

从‘猫狗大战’到医疗影像:LRP(逐层相关性传播)如何帮医生看懂AI的‘诊断思路’?

从‘猫狗大战’到医疗影像:LRP如何成为医生与AI的翻译官 当一位放射科医生第一次看到AI系统标注的肺结节"恶性概率92%"时,他的反应不是赞叹,而是皱眉:"它凭什么这么判断?"这种场景正在全球各大医院…...

ScintillaNET:打造专业级代码编辑器的终极Windows Forms解决方案

ScintillaNET:打造专业级代码编辑器的终极Windows Forms解决方案 【免费下载链接】ScintillaNET A Windows Forms control, wrapper, and bindings for the Scintilla text editor. 项目地址: https://gitcode.com/gh_mirrors/sc/ScintillaNET ScintillaNET是…...

Granite TimeSeries FlowState R1 多步预测效果展示:长期趋势与不确定性量化

Granite TimeSeries FlowState R1 多步预测效果展示:长期趋势与不确定性量化 时间序列预测,听起来挺专业的,但说白了,就是根据过去的数据,猜猜未来会发生什么。比如,老板问你:“下个月咱们产品…...

从零构建:基于C语言的Modbus RTU从站驱动开发指南

1. Modbus RTU从站驱动开发入门指南 第一次接触Modbus RTU从站开发时,我完全被各种专业术语搞晕了。后来在工厂里调试一个温湿度传感器时,才真正理解这个协议的精妙之处——它就像车间里老师傅们约定俗成的对话方式,主设备问一句,…...

chromedp实战:如何用JavaScript绕过iframe内容获取难题(附完整代码)

chromedp实战:突破iframe内容获取的JavaScript高阶技巧 在电商数据抓取和动态内容监控场景中,iframe始终是爬虫开发者最头疼的障碍之一。传统DOM操作方法在iframe嵌套页面面前往往束手无策,而chromedp提供的Evaluate系列方法则打开了新世界的…...

Qwen2.5-VL-7B-Instruct图文对话教程:上传图片提问、多轮追问、结果导出全流程

Qwen2.5-VL-7B-Instruct图文对话教程:上传图片提问、多轮追问、结果导出全流程 你是不是经常遇到这样的情况:拿到一张复杂的图表,想快速理解里面的数据;或者看到一张有趣的图片,想知道背后的故事;又或者需…...

零基础掌握开源工具:3步实现群晖Photos功能强化

零基础掌握开源工具:3步实现群晖Photos功能强化 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch 当你面对海量照片却无法享受智能分类的便…...

Free-NTFS-for-Mac全功能指南:跨平台文件自由传输的开源解决方案

Free-NTFS-for-Mac全功能指南:跨平台文件自由传输的开源解决方案 【免费下载链接】Free-NTFS-for-Mac Nigate,一款支持苹果芯片的Free NTFS for Mac小工具软件。NTFS R/W for macOS. Support Intel/Apple Silicon now. 项目地址: https://gitcode.com/…...

Telegram用户必看:Grok聊天机器人全功能实测与隐藏技巧大公开

Telegram用户必看:Grok聊天机器人全功能实测与隐藏技巧大公开 作为Telegram深度用户,你可能已经注意到聊天界面顶部多了一个新面孔——Grok聊天机器人。这款由xAI打造的AI助手正在悄然改变我们的通讯体验。不同于市面上大多数聊天机器人,Grok…...

Windows 11终极优化指南:用Win11Debloat免费提升51%系统性能

Windows 11终极优化指南:用Win11Debloat免费提升51%系统性能 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简…...