Redis geo 我身边有什么A8站源码交易平台

摘要:添加一个坐标或多个 127.0.0.1:6379> geoadd fanguan 116.48105 39.996794 KFC (integer) 1 127.0.0.1:6379> geoadd fanguan 116.514203 39.905409 麦当劳 (integer) 1 127.0.0.1:6379> geoadd fanguan 116.489033 40.007669 必胜客 (integer) 1 127.0.0.1:6379> geoadd fanguan 116.562108 39.787602 麻辣诱惑 116.334255 40.027400 火锅 (integer) 2

我们要做什么?
          每天你在用美团的时侯,查找附近的美食,附近的商家,当你每天用同享单车的时分,有没有想过查看你附近的同享单车功用是怎样完结的,对!我们今天分分钟用redis来完结这个功用,A8站源码交易平台

怎样做?
        只讲完结不说原理,首要你要在本地有个redis,然后翻开客户端,你把redis想成一个魔法口袋,把一切的地址坐标都装进去,然后,你就可以问比方,我附近1000米有啥菜馆的问题。

先翻开redis客户端

添加一个坐标或多个
127.0.0.1:6379> geoadd fanguan 116.48105 39.996794 KFC
(integer) 1
127.0.0.1:6379> geoadd fanguan 116.514203 39.905409 麦当劳
(integer) 1
127.0.0.1:6379> geoadd fanguan 116.489033 40.007669 必胜客
(integer) 1
127.0.0.1:6379> geoadd fanguan 116.562108 39.787602 麻辣诱惑 116.334255 40.027400 火锅
(integer) 2

geoadd   是指令

fanguan  是key  是饭店的拼音 -  -

116.48105 39.996794 是坐标定位

KFC 是饭店的称谓,我们可以存放业务上的主键

现在我们现已添加了1个或多个坐标,查看下我们添加的坐标数据

127.0.0.1:6379> ZRANGE fanguan 0 -1 WITHSCORES
 1) "xe9xbaxbbxe8xbexa3xe8xafxb1xe6x83x91"
 2) "4069154033428715"
 3) "xe7x81xabxe9x94x85"
 4) "4069880904286516"
 5) "xe9xbaxa6xe5xbdx93xe5x8axb3"
 6) "4069886008361398"
 7) "KFC"
 8) "4069887154388167"
 9) "xe5xbfx85xe8x83x9cxe5xaexa2"
10) "4069887179083478"

 除了kfc都是中文乱码

删去一个坐标的指令
127.0.0.1:6379> zrem fanguan 火锅
(integer) 1

输入其时坐标,查看附近的饭店
127.0.0.1:6379> georadius fanguan 116.514202 39.905409 20 km withdist count 3 asc
1) 1) "xe9xbaxa6xe5xbdx93xe5x8axb3"
   2) "0.0000"
2) 1) "KFC"
   2) "10.5501"
3) 1) "xe5xbfx85xe8x83x9cxe5xaexa2"
   2) "11.5748"

我哭不应该用中文。。。

fanguan    redis key

然后是坐标 ,就可以理解为我的方位

20 km 是说这个坐标20千米之内的点,是规划

count 3 asc 是排序前3个

还有 asc可以换成desc 变成倒叙

三个可选参数 withcoord withdist withhash 用来带着附加参数
 withdist 很有用,它可以用来闪现距离

127.0.0.1:6379> georadiusbymember fanguan KFC 20 km withcoord withdist withhash count 3 asc
1) 1) "KFC"
   2) "0.0000"
   3) (integer) 4069887154388167
   4) 1) "116.48104995489120483"
      2) "39.99679348858259686"
2) 1) "xe5xbfx85xe8x83x9cxe5xaexa2"
   2) "1.3878"
   3) (integer) 4069887179083478
   4) 1) "116.48903220891952515"
      2) "40.00766997707732031"
3) 1) "xe9xbaxa6xe5xbdx93xe5x8axb3"
   2) "10.5501"
   3) (integer) 4069886008361398
   4) 1) "116.5142020583152771"
      2) "39.90540918662494363"

其他指令
算2个点距离
127.0.0.1:6379> geodist fanguan KFC 必胜客 km
"1.3878"

距离单位可以是 m、km、 ml、ft,分别代表米、千米、英里和尺。

获取元素方位
geopos 指令可以获取调会集任意元素的经纬度坐标,可以一次获取多个。

127.0.0.1:6379> geopos fanguan KFC 必胜客
1) 1) "116.48104995489120483"
   2) "39.99679348858259686"
2) 1) "116.48903220891952515"
   2) "40.00766997707732031"

获取元素hash值(geo hash)
127.0.0.1:6379> geohash fanguan KFC
1) "wx4gd94yjn0"

总结
           A8站源码交易平台之前写过一个关于算附近的代码,那个是用java自己完结的,仍是有缝隙的,不过这次发现redis现已有了这个完结,简直是简略的不得了,不过要注意的是,经纬度存入后,读取的时分有一些小过失,但是不耽误这个算法和功用的完结。

  • 全部评论(0)
最新发布的资讯信息
【A8站-免费源码分享|直播源码】直播系统源码开发:关于安卓开发工具和obs直播推流(2020-10-30 09:41)
【计算机/互联网|】【独家修复】用户定制版短视频点赞系统,支持抖音+快手+刷宝+微视等所有主流短视频评论系统源码(2020-10-26 16:34)
【技术宅-为技术而疯|网站架设教程】【独家首发】最新更新已对接短信2020全新抖音快手点赞任务系统霸屏天下小红书头条威客兼职完整搭建架设视频教程(2020-10-25 13:56)
【技术宅-为技术而疯|网站架设教程】最新可用个人发卡网系统源码完整搭建架设视频教程(2020-10-25 10:53)
【技术宅-为技术而疯|网站架设教程】独家更新全新V10抢单系统唯品会京东淘宝自动抢单区块系统源码全开源抢单收单接单返利+搭建架设完整视频教程(2020-10-25 10:52)
【计算机/互联网|】柔丫纸尿裤云仓系统源码部署(2020-10-15 18:13)
【计算机/互联网|】侏罗纪软件模式定制开发(2020-10-14 15:33)
【计算机/互联网|】S2b2C供应商系统 营销闭环(2020-10-10 17:46)
【计算机/互联网|程序设计开发】盛都汇系统奖励机制(2020-10-10 17:20)
【A8站-免费源码分享|网站源码】积分商城系统APP开发(2020-09-23 14:56)
联系我们
Q Q:3101359898 点击直接对话
电话:18580901894
邮箱:admin#a8zhan.com
时间:09:00 - 24:00
手机二维码 访问手机版
返回顶部