网站大量收购闲置独家精品文档,联系QQ:2885784924

【麦子学院】Redis 3.2 GEO特性相关命令和功能详解.pdf

【麦子学院】Redis 3.2 GEO特性相关命令和功能详解.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【麦子学院】Redis 3.2 GEO特性相关命令和功能详解

IT 在线教育平台———麦子学院: 【麦子学院】Redis 3.2 GEO 特性相关命令和功能详解 Redis 是一个高性能的 key-value 数据库 ,其最大优点就是,很大程度补偿了 memcached 这类 key/value 存储的不足,在部分场合可以对关系数据库起到很好的补充作 用。同时 Redis 还提供了 Java 开发 ,C/C++ ,C# ,PHP 开发 ,JavaScript ,Perl ,Object- C ,Python 开发 ,Ruby ,Erlang 等客户端,使用起来很方便。 而今天小编要和大家聊的就是 Redis 的 GEO 特性,这个特性将在 Redis 3.2 版本释出, 可以将用户给定的地理位置信息储存起来, 并对这些信息进行操作。下面我们就来看看 Redis GEO 的相关命令及这些命令相关功能的实现。 一、添加和获取位置 要进行地理位置的操作,我们需要先通过执行 GEOADD 命令将具体的地理位置记录 起来: GEOADD location-set longitude latitude name [longitude latitude name ...] GEOADD 命令每次可以添加一个或多个经纬度地理位置。 其中 location-set 为储存地 理位置的集合, 而 longitude 、 latitude 和 name 则分别为地理位置的经度、纬度、名字。 下面我们来通过例子,看下具体如何通过 GEOADD 命令,记录地理位置。将清远、 广州、佛山、东莞、深圳等数个广东省的市添加到位置集合 Guangdong-cities 里面: redis GEOADD Guangdong-cities 113.2099647 23.593675 Qingyuan 1 -- 成功添加一个位置 redis GEOADD Guangdong-cities 113.2278442 23.1255978 Guangzhou 113.106308 23.0088312 Foshan 113.7943267 22.9761989 Dongguan 114.0538788 22.5551603 Shenzhen 4 -- 成功添加四个位置 在将位置记录到位置集合之后, 我们可以使用 GEOPOS 命令, 输入位置的名字并取得位 置的具体经纬度: GEOPOS location-set name [name ...] 比如说, 如果我们想要获取清远、广州和佛山的经纬度, 那么可以执行以下代码: redis GEOPOS Guangdong-cities Qingyuan Guangzhou Foshan IT 在线教育平台———麦子学院: 1) 1) 113.20996731519699 -- 清远的经度 2) 23.593675019671288 -- 清远的纬度 2) 1) 113.22784155607224 -- 广州的经度 2) 23.125598202060807 -- 广州的纬度 3) 1) 113.10631066560745 -- 佛山的经度 2) 23.008831202413539 -- 佛山的纬度 二、计算两个位置之间的距离 在拥有了地理数据之后, 我们就可以基于这些数据进行各种各样的操作。 针对地理 位置信息的其中一个最简单的操作, 就是计算两个位置之间的距离。 在 Redis 里面, 计算两个位置之间的距离可以通过 GEODIST 命令来实现: GEODIST location-set location-x location-y [unit] 在调用这个命令时, 用户需要给定想要计算差距的地点 location-x 和 location-y ,以 及储存这两个地点的地理位置集合。 可选参数 unit 用于指定计算距离时的单位, 它的值可以是以下单位的其中一个: m 表示单位为米。 km 表示单位为千米。 mi 表示单位为英里。 ft 表示单位为英尺。 如果用户没有指定 unit 参数, 那么 GEODIST 默认使用米为单位。 而对于上面的例子,我们如何利用代码计算出清远和广州之间的距离: redis GEODIST Guangdong-cities Qingyuan Guangzhou 52094.433840356309 -- 两地相聚 52094 米 IT 在线教育平台

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档