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

文章目录

1、查看redis是否启动

bash 复制代码
[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

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

3、切换到db5数据库

bash 复制代码
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、添加大江商厦

bash 复制代码
127.0.0.1:6379[5]> geoadd p1 121.243007 31.022285 sh_djss
(integer) 1
127.0.0.1:6379[5]> 

4.2、添加西部硅谷

bash 复制代码
127.0.0.1:6379[5]> geoadd p1 113.844461 22.632091 sz_xbgg
(integer) 1
127.0.0.1:6379[5]> 

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

bash 复制代码
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、获取指定地区的坐标

bash 复制代码
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、计算两地之间的直接距离

bash 复制代码
127.0.0.1:6379[5]> geodist p1 sh_djss sz_xbgg km
"1186.7119"
127.0.0.1:6379[5]> 

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

bash 复制代码
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、在指定元素周围查找其他元素

bash 复制代码
127.0.0.1:6379[5]> georadiusbymember p1 sh_djss 1200 km
1) "sz_xbgg"
2) "sh_djss"
127.0.0.1:6379[5]> 
相关推荐
ywl47081208717 分钟前
redis持久化
redis
whn197728 分钟前
如何避免以root用户执行达梦
数据库
brave_zhao34 分钟前
openEuler下安装tar包解压工具
linux·服务器·数据库
fu15935745682 小时前
【边缘计算实战】P1:从零搭建边云任务卸载仿真实验台(Python 可复现)
数据库·python·边缘计算
隔壁阿布都2 小时前
MySQL 间隙锁死锁问题处理
数据库·mysql
qiuziqiqi3 小时前
Shopify推送订单及异常状态错误码说明
数据库
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第179题】【07_Redis篇】第15题:什么是 Redlock 算法?
java·redis·分布式锁·高可用·redlock
三品PLM系统4 小时前
【无标题】
数据库·制造·cadence·plm
ITxiaobing20234 小时前
如何构建IP维度的假量排查流程:以AppsFlyer Protect360判假后的实战为例
网络·数据库
Gent_倪4 小时前
万字详解:数据库、数据仓库、数据湖、湖仓一体
数据库·数据仓库·spark