本文主要是介绍redis特殊数据类型geospatial,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
redis特殊数据类型geospatial
Geospatial是地理位置数据类型
朋友的定位、附近的人、打车距离计算?
Redis geo在redis3.2里就推出了该功能,这个功能可以推算出地理位置的信息,两地之间的距离、方圆几公里的人!
官方链接可点击: link.
Geoadd添加地理位置信息
Geoadd +key +经度 +纬度 +地理名称
有效经度是 -180到180度
有效纬度是 -85.05112878度到85.05112878
超过了有效的经纬度会报错
Geopos 获得指定地理位置的经度
Geopos +key +地理名称
Geodist 命令 - 返回两个给定位置之间的距离(直线距离)
指定单位的参数 unit 必须是以下单位的其中一个:
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
北京到长沙有多少公里?
geodist china beijing changsha km
Geodist +key +地理位置1 +地理位置2 +距离单位
Georadius 判断某坐标附近的东西(比如我附近的人)
Georadius +key +坐标 +附近多少距离 +距离单位
查询的数据前提是你的key里面录了这个数据
Georadius 判断某坐标附近的东西(比如我附近的人)并显示出经纬度
Georadius +key +坐标 +附近多少距离 +距离单位 +withcoord
Georadius 判断某坐标附近的东西(比如我附近的人)并显示出距离
Georadius +key +坐标 +附近多少距离 +距离单位 +withdist
Georadius 判断某坐标附近的东西(比如我附近的人)并显示出距离和经纬度、并且只显示一个
Georadius +key +坐标 +附近多少距离 +距离单位 +withcoord +withdist +count 数量
Georadiusbymember 判断某坐标附近的东西(城市附近的城市)
georadiusbymember china changsha 1000 km 判断长沙附近1000km的城市 是杭州
Geohash 把坐标一字符串的形式输出来
Geohash +key +地理位置
geospatial的底层基本原理
Geo的底层原理就是zset的封装
查看geo类型的所有数据
删除beijing
使用zset的命令依然可以操作geospatial
这篇关于redis特殊数据类型geospatial的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!