前言

支持 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 )

最新文章

  1. R读取溢出的数据
  2. Oracle Dataguard之failover
  3. Cocos2d-x 3.2 学习笔记(八)Action
  4. 容器--EnumMap
  5. Android UI系列-----时间、日期、Toasts和进度条Dialog
  6. Mongodb for C# 分组查询
  7. HDU 5698 瞬间移动
  8. 算法导论--python--插入排序
  9. ViewState是什么
  10. java知识点整理
  11. 前端需要注意的seo
  12. ShortcutBadgerDemo【安卓应用角标(badge)实现方案】
  13. 5-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(配置保存数据的数据库)
  14. python中的集合
  15. SpringBoot------异步任务的使用
  16. python第三方包的windows安装文件exe格式
  17. 【jQueryEasyUI总结】
  18. Xcode6 部署iphone4s出现的问题 No architectures to compile for
  19. 3D游戏图形技术解析(7)——视差映射贴图(Parallax Mapping)【转】
  20. 输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER 请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR

热门文章

  1. BDD行为驱动简介及Pytest-bdd基础使用
  2. solr系列之solr-5.5.5 window单机版jdk-1.7 tomcat8安装
  3. 适配iphone X
  4. Leetcode题目48.旋转图像(中等)
  5. ARP输入 之 arp_rcv
  6. LeetCode 32. 最长有效括号(Longest Valid Parentheses)
  7. 梯度提升树GBDT总结
  8. Python接口测试-模块引用与映射
  9. python之scrapy模块下载中间件
  10. html里 调整字间距