10.Redis系列之数据类型GeoSpatial
本文讲解redis中对经纬度操作支持的数据类型GeoSpatial
1. geoadd经纬度添加
我们打开https://lbs.amap.com/tools/picker进行坐标拾取,分别拾取静安区
、黄浦区、杨浦区、浦东新区坐标点
127.0.0.1:6379> geoadd region 121.447348 31.227718 jingan
(integer) 1
127.0.0.1:6379> geoadd region 121.48442 31.231661 huangpu
(integer) 1
127.0.0.1:6379> geoadd region 121.525409 31.259588 yangpu
(integer) 1
127.0.0.1:6379> geoadd region 121.544346 31.221461 pudong
(integer) 1
2. geodist求两点之间距离
# 计算静安与黄浦直线距离
127.0.0.1:6379> geodist region jingan huangpu
"3553.2114"
3. geohash编码
GeoHash就是一种将经纬度转换成字符串的方法,字符串前缀匹配越多的距离越近
127.0.0.1:6379> geohash region jingan huangpu
1) "wtw3esg68k0"
2) "wtw3smw3850"
4. geopos返回坐标点
127.0.0.1:6379> geopos region jingan
1) 1) "121.44734770059585571"2) "31.22771779071442921"
5. 返回圆形内所有点
# 自从6.2.0开始,采用geosearch
# 通过坐标点名搜索周边4公里点
127.0.0.1:6379> geosearch region frommember jingan BYRADIUS 4 KM
1) "jingan"
2) "huangpu"
# 通过具体坐标点搜索周边4公里点
127.0.0.1:6379> geosearch region fromlonlat 121.447348 31.227718 BYRADIUS 4 KM
1) "jingan"
2) "huangpu"
# 返回额外距离、经纬度信息
127.0.0.1:6379> geosearch region fromlonlat 121.447348 31.227718 BYRADIUS 4 KM withdist withcoord
1) 1) "jingan"2) "0.0000"3) 1) "121.44734770059585571"2) "31.22771779071442921"
2) 1) "huangpu"2) "3.5532"3) 1) "121.48442119359970093"2) "31.23166181683836129"
6.返回矩形内点
# 以静安为矩形坐标中心点,查找宽高各为8KM的矩形内点
127.0.0.1:6379> geosearch region fromlonlat 121.447348 31.227718 bybox 8 8 KM
1) "jingan"
2) "huangpu"
7. 存储搜索结果到新key
127.0.0.1:6379> geosearchstore result region fromlonlat 121.447348 31.227718 bybox 8 8 KM
(integer) 2
127.0.0.1:6379> zrange result 0 -1
1) "jingan"
2) "huangpu"
一般在工作中,用ES坐标点geo_point及形状geo_shape[支持多边形围栏搜索]比较多些,但也要看实际工作需求了
欢迎关注公众号算法小生查看最新文章
10.Redis系列之数据类型GeoSpatial相关推荐
- redis系列之——高可用(主从、哨兵、集群)
Redis系列目录 redis系列之--分布式锁 redis系列之--缓存穿透.缓存击穿.缓存雪崩 redis系列之--Redis为什么这么快? redis系列之--数据持久化(RDB和AOF) re ...
- redis系列之——一致性hash算法
Redis系列目录 redis系列之--分布式锁 redis系列之--缓存穿透.缓存击穿.缓存雪崩 redis系列之--Redis为什么这么快? redis系列之--数据持久化(RDB和AOF) re ...
- 10. Redis数据类型--Geospatial
10.Redis数据类型–Geospatial 地理空间(geospatial) Geospatial–Redis中文网 : http://www.redis.cn/commands/geoadd.h ...
- ❤️Bitmaps、HyperLogLog、Geospatial❤️——Redis三大特殊数据类型详述(万字长文原理讲解,大厂面试高频知识点,一文尽收囊中)
本文已收录于专栏 ❤️<Redis之大厂必备技能包>❤️ 欢迎各位关注.三连博主的文章及专栏,全套Redis学习资料,大厂必备技能! 目录 简介 一.Bitmaps 1.简介 2 .基本操 ...
- NoSql之Redis系列一: Redis的数据类型和基本使用
NoSql之Redis系列一: Redis的数据类型和基本使用 Redis简介及特点 Redis常用数据结构及使用 启动redis-server (win) 使用redis-cli操作redis St ...
- redis 系列10 字符串对象
redis 系列10 字符串对象 原文:redis 系列10 字符串对象 一. 字符串对象编码 Redis中字符串可以存储3种类型,分别是字节串(byte string).整数.浮点数.在上章节中讲到 ...
- 上手Redis系列(六):超全Geospatial特殊类型详解(地理位置)
学习Redis之前,我还是觉得我务必跟你说一声,也是在我文章之中说的很多的一句话,我想也会适用于学习Redis,那就是在接触文章里的Reids命令时,不用试图去记这些命令 ,用到时去看API帮助文档即 ...
- Redis新数据类型Geospatial
1.前言 Redis 3.2 中增加了对GEO类型的支持.GEO,Geographic,地理信息的缩写.该类型,就是元素的2维坐标,在地图上就是经纬度.redis基于该类型,提供了经纬度设置,查询,范 ...
- Redis学习(4)-数据类型set和zset
Set数据类型及操作 Set集合是通过hash table实现的,所以添加.删除和查找的复杂度都是O(1),hash table会随着添加或者删除自动的调整大小,需要注意的是 hash table大小 ...
最新文章
- linux 内核编译错误 .size expression for copy_user_generic_c does not evaluate to a constant
- 每日一皮:为什么程序猿是最适合谈恋爱的人
- 刘强东写在上市之际:京东要成为一家世界级企业 感慨吧
- 医院病案档案管理系统php_医疗产品经理必懂:医院业务流程及系统
- 神策游戏解决方案:赋能游戏产业精品化研运升级
- [MATLAB粒子模拟笔记]粒子坐标速度初始化
- win8.1 USB启动盘制作(不支持UEFI,不支持GPT分区)
- linux部署的java应用,浏览器访问时,报域名解析错误
- 一键了结CUP100%问题
- runas/cpau/lsrunase使用小结(以管理员运行指定程序)
- html点击按钮切换图片代码_单次点击实现远程代码执行:内容管理框架Drupal恶意图片上传漏洞利用链分析...
- 【转】Topshelf 搭建 Windows 服务
- 遗传算法python实现
- python 移动文件 覆盖_python 剪切移动文件的实现代码
- crontab 每周五_关于linux:如何在星期天每周运行crontab作业
- 欧洲对地观测卫星和无人机发展现状简介
- 【DP】【Burnside】【多项式】烷基计数
- 阿里云国际版查看云服务器ecs实例系统日志和截图-Unirech
- 【Unity】Obi插件系列(六)——Obi Rope
- 了解Windows WDDM 驱动程序