redis数据结构-GEO

GEO底层是基于zset来实现的

常用命令:https://blog.csdn.net/liutao43/article/details/110576772

geoadd key  经度  纬度  member  : 可以批量添加

geodist key  member1 member2 [m/km/fm]  : 计算两个成员间的距离   默认单位为米

geopos key  member :  查询经纬度

GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]     以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

实现原理:根据经纬度 geoHash编码(二分区间  区间编码)

                  经纬度 编码值组合在一起  偶数位--经度     奇数位--纬度

                 组合在一起的值作为zset的score

                  

心有多大,天有多高,一起奋斗!!
原文地址:https://www.cnblogs.com/zhaolei1996/p/14392949.html