PHPRedis教程之geo

前言

支持 GEO 系列命令的 Redis 版本从 3.2.0 起开始才可以使用,所以之前版本就不要想了。

函数列表

geoadd - 将指定的地理空间项(纬度,经度,名称)添加到指定的键, 数据作为有序集存储在 Redis 中。

GEOADD key longitude latitude member [longitude latitude member …]

key - 存储在 Redis 中的指定的键

longitude - 经度

latitude - 纬度

member - 成员名称

<?php$redis->geoadd("city", 117.224311, 39.111515, "天津")
// 1$redis->geoadd("city", 116.40378, 39.91544, "北京", 121.473913, 31.222965, "上海")
// 2
?>

geopos - 返回由key处的有序集表示的地理空间索引的所有指定成员的位置(经度,纬度)。

GEOPOS key member [member ...]

key - 存储在 Redis 中的指定的键

member - 成员名称

<?php$redis->geopos("city", "天津") // Array ( [0] => Array ( [0] => 117.22431153059005737 [1] => 39.11151424175071867 ) )$redis->geopos("city", "天津", "北京") // Array ( [0] => Array ( [0] => 117.22431153059005737 [1] => 39.11151424175071867 ) [1] => Array ( [0] => 116.40378087759017944 [1] => 39.91543907825245441 ) )
?>

geodist - 返回由有序集合表示的地理空间索引中的两个成员之间的距离。

GEODIST key member1 member2 [unit]

key - 存储在 Redis 中的指定的键

member - 成员名称

unit - 单位 m(米),km(千米),mi(英里),ft(英尺)

<?php$redis->geodist("city","天津", "北京","km") //113.8093
?>

georadius - 使用GEOADD返回包含地理空间信息的已排序集合的成员,这些信息位于中心位置和与中心的最大距离(半径)指定区域的边界内。

GEORADIUS key longitude latitude radius unit(m|km|ft|mi) [WITHCOORD] [WITHDIST] [WITHHASH][COUNT count] [ASC|DESC] [STORE key][STOREDIST key]

key - 存储在 Redis 中的指定的键

longitude - 经度

latitude - 纬度

radius - 半径

unit - 单位 m(米),km(千米),mi(英里),ft(英尺)

WITHCOORD 返回目标的经纬度

WITHDIST 返回距离中心点的距离

WITHHASH 返回 52位 无符号整数的 geohash 有序集合分数

COUNT 返回条数
ASC|DESC 正序排序|倒序排序

<?php$redis->georadius("city", 117.224311, 39.111515, 1000, "km", ['WITHDIST','ASC'])// Array ( [0] => Array ( [0] => 上海 [1] => 958.4076 ) [1] => Array ( [0] => 北京 [1] => 113.8092 ) [2] => Array ( [0] => 天津 [1] => 0.0001 ) )$redis->georadius("city", 117.224311, 39.111515, 1000, "km", ['WITHCOORD','WITHDIST','ASC','COUNT'=>1])// Array ( [0] => Array ( [0] => 天津 [1] => 0.0001 [2] => Array ( [0] => 117.22431153059005737 [1] => 39.11151424175071867 ) ) )
?>

georadiusbymember - 这个命令与GEORADIUS完全相同,区别在于该命令返回的是成员附近的所有成员

GEORADIUSBYMEMBER key member radius unit(m|km|ft|mi) [WITHCOORD] [WITHDIST] [WITHHASH][COUNT count] [ASC|DESC] [STORE key][STOREDIST key]

key - 存储在 Redis 中的指定的键

member - 成员名称

radius - 半径

unit - 单位 m(米),km(千米),mi(英里),ft(英尺)

WITHCOORD 返回目标的经纬度

WITHDIST 返回距离中心点的距离

WITHHASH 返回 52位 无符号整数的 geohash 有序集合分数

COUNT 返回条数
ASC|DESC 正序排序|倒序排序

<?php$redis->georadiusbymember("city", "天津", 200, "km", ['WITHCOORD', 'WITHDIST', 'ASC'])//Array ( [0] => Array ( [0] => 天津 [1] => 0.0000 [2] => Array ( [0] => 117.22431153059005737 [1] => 39.11151424175071867 ) ) [1] => Array ( [0] => 北京 [1] => 113.8093 [2] => Array ( [0] => 116.40378087759017944 [1] => 39.91543907825245441 ) ) )
?>

geohash - 返回有效的Geohash字符串

GEOHASH key member [member …]

key - 存储在 Redis 中的指定的键

member - 成员名称

<?php$redis->geohash("city", "天津", "北京")// Array ( [0] => wwgqe801h60 [1] => wx4g0f6sk90 )

转载于:https://www.cnblogs.com/l5gw/p/11242223.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何查看QQ和微信查看授权过那些应用?

平时生活中&#xff0c;要登录一些网站或者app时&#xff0c;为了省事儿&#xff0c;都用第三方登录&#xff0c;登录是简单快捷了一些 时间长了,授权过的那些应用都不知道了&#xff0c;甚至一些应用你没用去授权权限也一直开放给别人网站的 所以为了自己帐号的安全还是有必…

[html] 说说你对H5的SharedWorker的理解,它有什么运用场景?

[html] 说说你对H5的SharedWorker的理解&#xff0c;它有什么运用场景&#xff1f; 一种特定类型的 worker&#xff0c;可以从几个浏览上下文中访问&#xff0c;例如几个窗口、iframe 或其他 worker。多个标签页之间通信个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后…

Spring 注解AOP 入门

XML <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:context"http://www.springframework.org/sche…

python常用函数的用法_python3 文件操作常用函数用法示例

1. file.close() 关闭文件。关闭后文件不能再进行读写操作&#xff0c;需要重新打开才能进行读写。f open(demo.text , r) # 使用只读方式打开文本 print(f.read()) # 打印demo.text文件内容 f.close() # 关闭文件 2. file.flush() 将缓存区中的数据立刻写入文件&#xff0c;同…

[html] 制作页面时,前端如何适应各种异形屏?

[html] 制作页面时&#xff0c;前端如何适应各种异形屏&#xff1f; 主要内容区域大小固定&#xff0c;固定在页面中间&#xff0c;两边可伸缩 width:1200px; margin:0 auto;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很…

awk的妙用

终端形式有人说awk的优势在于可以个性化输出命令&#xff0c;这么说来太抽象了&#xff0c;假如我们查看占用6379端口的进程信息。 lsof -i:6379 输出结果&#xff1a; COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME redis-ser 17474 root 6u IPv6 71242 …

追求真实

是选择在迷茫中生活然后死去 还是选择追求真实&#xff0c;在追求的路上死去。 两种方式共同点是死去的时候都是迷茫的。不得不说是生命的悲剧&#xff0c;不过也可以说是生命的精彩转载于:https://www.cnblogs.com/cuihongyu3503319/archive/2011/08/07/2130204.html

C# ASP.NET MVC 图片上传的多种方式(存储至服务器文件夹,阿里云oss)

图片上传时我们进场用到的一个功能今天将他整理了一下写了个demo希望对大家有用 该demo分为如下 1.上传至至服务器文件夹 2.上传至阿里云oss 3.百度webupload上传图片 效果图如下: 首先讲解一下后台代码 (1)上传至服务器存储 using System; using System.Collections; u…

[html] 写一个布局,当页面滚动一定高时,导航始终固定在顶部,反之恢复原位

[html] 写一个布局&#xff0c;当页面滚动一定高时&#xff0c;导航始终固定在顶部&#xff0c;反之恢复原位 使用粘性定位&#xff0c;position:sticky 记得使用的时候父元素不能使用overflow:hidden和overflow:auto属性&#xff0c;而且必须要指定top/left/bottom/right中任…

java变量命名规则_浅谈JAVA开发规范与开发细节(上)

开发团队在开发过程中&#xff0c;由于每个人的开发习惯&#xff0c;以及对于技术的理解深浅程度不一&#xff0c;往往一个项目在开发过程中&#xff0c;代码的质量&#xff0c;代码的风格都不尽相似&#xff0c;所以有一份适合团队的代码规范是非常有必要的&#xff0c;而一个…

使用Moles对静态方法做UnitTest

我们在开发&#xff0c;有时遇到一些Legcy代码&#xff0c;然后需要对它们进行UnitTest。UnitTest的重要性在这里不再说了。但是发现某些Class中有些方法是Static的&#xff0c;按以往的方法我们需要用Extact Interface 方法 从那个需要测试的Class&#xff0c;然后使用 IOC /D…

Charles

安装 https://www.jianshu.com/p/cb744a4c0344 https://blog.csdn.net/qq_28831197/article/details/81196571 使用说明&#xff1a; 来源&#xff1a;https://www.jianshu.com/p/73b134559c76 过滤网络请求 通常情况下&#xff0c;我们需要对网络请求进行过滤&#xff0c;只监…

.NET Core Docker使用初入篇

本篇内容如何在CentOS上安装Docker服务器与工具准备安装Docker更新系统安装Docker源设置Docker开机启动启动Docker使用Docker运行一个.NET Core 例子.net core 例子拉取.net core 例子停止.net core 例子启用其他如何在CentOS上安装Docker 服务器与工具准备 首先我们需要一个…

[html] 写一个布局,当页面滚动一定高时,导航始终固定在顶部,反之恢复原位

[html] 写一个布局&#xff0c;当页面滚动一定高时&#xff0c;导航始终固定在顶部&#xff0c;反之恢复原位 使用粘性定位&#xff0c;position:sticky 记得使用的时候父元素不能使用overflow:hidden和overflow:auto属性&#xff0c;而且必须要指定top/left/bottom/right中任…

C++学习记录

1.C中没有C#中所谓的引用类型和值类型&#xff0c;需要使用引用&#xff0c;或者指针操作对象&#xff0c;但是指针容易出错&#xff0c;为什么不用引用而用指针呢&#xff0c;下面给出总结 <1>引用在声明时必须初始化&#xff0c;指针可以是空指针&#xff0c;引用定义后…

如何延长作用域链_第4部分2:作用域(链)和 闭包

知识列表作用域/作用域链 闭包&#xff08;涉及JS垃圾回收机制 &#xff09;https://zhuanlan.zhihu.com/p/27110726 【 js 基础 】【读书笔记】作用域和闭包https://juejin.im/post/5afb0ae56fb9a07aa2138425 深入理解闭包之前置知识→作用域与词法作用域&#xff08;一&#…

nginx配置简介

一、安装部署环境&#xff1a;centos 7.21.离线安装&#xff1a;Nginx下载地址&#xff1a;http://nginx.org/en/download.html下载稳定版本nginx-1.16.0.tar.gz到/usr/local下进行解压安装&#xff1a; # ./configure --prefix/usr/local/nginx-1.16.0 --with-pcre \ # make &…

C# T4模板在项目中的使用

1.什么是t4模版 T4&#xff0c;即4个T开头的英文字母组合&#xff1a;Text Template Transformation Toolkit。 T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎。在 Visual Studio 中&#xff0c;“T4 文本模板”是由一些文…

[置顶] 再谈学习方法

之前写过一篇文章&#xff1a;浅谈Oracle学习方法http://blog.csdn.net/tianlesoftware/article/details/5448689这里不谈Oracle&#xff0c;只谈学习方法。 常说师傅领进门&#xff0c;修行靠个人。 研究Oracle 需要靠自己的学习&#xff0c;需要多花时间来研究&#xff0c;我…

[html] 举例说明HTML5出来后,有哪些HTML标签被弃用了?

[html] 举例说明HTML5出来后&#xff0c;有哪些HTML标签被弃用了&#xff1f; center u s font ..... 等等违反表现和结构分离原则的标签被弃用个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录…