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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)

xuefei111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档