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]> 
相关推荐
小码的头发丝、18 分钟前
Django中ListView 和 DetailView类的区别
数据库·python·django
Karoku06628 分钟前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
材料苦逼不会梦到计算机白富美33 分钟前
golang分布式缓存项目 Day 1
分布式·缓存·golang
gorgor在码农43 分钟前
Redis 热key总结
java·redis·热key
想进大厂的小王44 分钟前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
Java 第一深情1 小时前
高性能分布式缓存Redis-数据管理与性能提升之道
redis·分布式·缓存
周全全1 小时前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql
白云如幻1 小时前
MySQL的分组函数
数据库·mysql
荒川之神1 小时前
ORACLE 闪回技术简介
数据库·oracle
HBryce242 小时前
缓存-基础概念
java·缓存