php使用redis的GEO地理信息类型
redis3.2中增中了对GEO类型的支持,该类型存储经纬度,提供了经纬设置,查询,范围查询,距离查询,经纬度hash等操作。
<?php$redis = new Redis();
$redis->connect('127.0.0.1', 6379, 60);
$redis->auth('');//添加成员的经纬度信息
$redis->rawCommand('geoadd', 'citys', '116.40', '39.90', 'beijing');
$redis->rawCommand('geoadd', 'citys', '121.47', '31.23', 'shanghai');
$redis->rawCommand('geoadd', 'citys', '114.30', '30.60', 'wuhan');echo '<pre>';//获取两个地理位置的距离,单位:m(米,默认), km(千米), mi(英里), ft(英尺)
var_dump($redis->rawCommand('geodist', 'citys', 'beijing', 'wuhan'));
var_dump($redis->rawCommand('geodist', 'citys', 'beijing', 'shanghai', 'km'));//获取成员的经纬度
var_dump($redis->rawCommand('geopos', 'citys', 'shanghai'));//获取成员的经纬度hash,geohash表示坐标的一种方法,便于检索和存储
var_dump($redis->rawCommand('geohash', 'citys', 'shanghai', 'wuhan'));//基于经纬度坐标的范围查询
//查询以经纬度为114,30为圆心,100千米范围内的成员
var_dump($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km'));//WITHCOORD表示获取成员经纬度
var_dump($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km', 'WITHCOORD'));//WITHDIST表示获取到圆心的距离
var_dump($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km', 'WITHDIST'));//WITHHASH表示获取成员经纬度HASH值
var_dump($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km', 'WITHHASH'));//COUNT 数量,表示限制获取成员的数量
var_dump($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km', 'COUNT', '3'));// ASC 根据圆心位置,从近到远的返回元素
// DESC 根据圆心位置,从远到近的返回元素
var_dump($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km', 'ASC'));//基于成员位置范围查询
//查询以武汉为圆心,100千米范围内的成员
var_dump($redis->rawCommand('georadiusbymember', 'citys', 'wuhan', '100', 'km'));
转载于:https://www.cnblogs.com/jkko123/p/10615905.html
php使用redis的GEO地理信息类型相关推荐
- 十四、Redis三种特殊类型之一Geospatial
一.概述 redis除了提供了五大基本数据类型String.List.Set.Hash.Zset,还有3个比较特殊的数据类型,Geospatial.Hyperloglog.Bitmap,这三个数据类型 ...
- Spring Boot 2 实战:利用Redis的Geo功能实现查找附近的位置
1. 前言 老板突然要上线一个需求,获取当前位置方圆一公里的业务代理点.明天上线!当接到这个需求的时候我差点吐血,这时间也太紧张了.赶紧去查相关的技术选型.经过一番折腾,终于在晚上十点完成了这个需求. ...
- mysql redis geo_利用Redis的Geo功能实现查找附近的位置
1. 前言 老板突然要上线一个需求,获取当前位置方圆一公里的业务代理点.明天上线!当接到这个需求的时候我差点吐血,这时间也太紧张了.赶紧去查相关的技术选型.经过一番折腾,终于在晚上十点完成了这个需求. ...
- 利用Redis的Geo功能实现查找附近的位置!
1. 前言 老板突然要上线一个需求,获取当前位置方圆一公里的业务代理点.明天上线!当接到这个需求的时候我差点吐血,这时间也太紧张了.赶紧去查相关的技术选型.经过一番折腾,终于在晚上十点完成了这个需求. ...
- 【案例实战】SpringBoot整合Redis的GEO实现查找附近门店功能
像我们平常美团点外卖的时候,都会看到一个商家距离我们多少米.还有类似QQ附近的人,我们能看到附近的人距离我们有多少米. 那么这些业务是怎么做的呢?是如何实现 基于位置的附近服务系统呢. 在去了解基于位 ...
- Geohash的原理介绍、Redis的Geo命令总结、Python使用Redis的Geo模块
Geohash 一.GeoHash编码介绍 参考: https://hogwartsrico.github.io/2015/01/22/About-GeoHash/ Geohash原理 - 简书 (j ...
- Redis之GEO存储地理位置信息
在外卖软件中的附近的美食店铺.外卖小哥的距离,打车软件附近的车辆,交友软件中附近的小姐姐.我们都可以利用redis的GEO地理位置计算得出. 1.Redis 的 Geo 是在 3.2 版本才有的 2. ...
- 对于如何删除redis中geo存入的坐标
redis中geo 就是将坐标存在reids 中可以进行判断坐标之间的距离,判断坐标及公里内的坐标. 但是由于geo大部分博客都是添加geo 进行判断,但是没有教大家怎么删除,对于坐标点比较多的话会 ...
- Redis中对ZSet类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
最新文章
- Docker的使用(五:Docker中的网络与数据管理)
- 使用iOS原生sqlite3框架对sqlite数据库进行操作
- OpenGL Viewport Array视口阵列的实例
- C语言ASM汇编内嵌语法zz
- 【DS】线段树HDU-1166
- [河南省ACM省赛-第三届] AMAZING AUCTION (nyoj 251)
- java .class 实例对象_Java产生Class类的三种实例化对象的方法
- python爬虫之图片下载APP1.0
- 新建DataTable添加列添加行
- SARscape操作:Sentinel-1 SLC影像镶嵌、裁切
- 航空模型手工制作_小学生简易航空模型的制作
- 录录录屏(video321)--1款亲测好用的免费高清录屏软件。你一定无法拒绝(附使用教程)
- 数据分析软件SPSS22的授权及汉化
- 技嘉B85升级BIOS并安装Win11
- 宿主机上docker0 Linux 网桥设备是怎么来的?
- Draco - glTF模型压缩利器
- Unity 3D 如何获取鼠标移动事件
- php下载文件并保存到指定文件夹
- [2020.12.6 解决docker容器乱码问题] 一劳永逸export env LANG=C.UTF-8永久支持中文,无需Dockerfile重建镜像
- 3y开发都不的不写单元测试,然后被被批了
热门文章
- 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)
- 【Qt】Qt样式表(Style Sheet):官网说明及例子
- arduino跑python,尝试在我的Arduino和stu上执行Python3.7.2中的代码
- springboot取yml中的值_SpringBoot 中从yml配置文件中读取常用的参数值
- 唯一索引和普通索引的选择
- linux下移动c盘文件位置,问个问题我在unbuntu下为何找不到windows c盘文件
- 计算机专业口号16字,计算机专业16口号
- android如何查看方法属于哪个类,Android Studio查看类中所有方法和属性
- elementui datetimepicker 移动端_在 Gitee 收获 2.5K Star,前后端分离的 RuoYi 它来了
- 联想r720内存频率_联想 IdeaPad14s 2020 轻薄本双十一促销