温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis个实现附近人功能

发布时间:2021-11-15 15:25:07 来源:亿速云 阅读:168 作者:柒染 栏目:大数据

Redis个实现附近人功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。


01

Redis的Geo

最近在写实现附近人的这个功能,在网上找了很多方案,但是都不尽人意。最后发现了redis已经实现了这个功能。支持存储地理位置信息来实现附近位置,摇一摇这类依赖于地理位置信息的功能。

添加地理位置


geoadd key longitude latitude member

longitude latitude member分别是该地理位置的经度,纬度,成员。

Redis个实现附近人功能

上图是添加了三个地理位置,分别是EE,Xiao,Chui这三个地理位置


03

获取俩地的距离

geodist key member1 member2 [unit]


其中unit代表返回结果的单位,包含以下四种:

·m(meters)代表米。

·km(kilometers)代表公里。

·mi(miles)代表英里。

·ft(feet)代表尺。

下面操作用于计算天津到北京的距离,并以公里为单位


Redis个实现附近人功能

Redis个实现附近人功能

上图是使用高德地图进行计算的,基本是吻合的

04

获取附近的位置


georadiusbymember这里我们使用这个命令,这个命令的参数只需要给出成员即可。


GEORADIUSBYMEMBER  company EE 20 km count 3 asc


Redis个实现附近人功能

这里是获取的EE附近20km的成员


05

地理位置的删除


GEO没有提供删除成员的命令,但是因为GEO的底层实现是zset,所以可以借用zrem命令实现对地理位置信息的删除。

看完上述内容,你们掌握Redis个实现附近人功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI