Redis的Geo底层结构是有序集合,value是位置名称,score是由经纬度计算出的值。
计算方式是,先将地球分成四个部分,关于纬度,在左半部分取0,右半部分取1;关于经度,在上半部分取0,下半部分有1,然后细分所在的部分,还是看在左还是右,上还是下,再取01。然后奇数位为纬度,偶数位为经度,拼接出一个二进制,然后转为52位整数,作为score。
查一个点附近的点,找score中附近的即可。
参考Geo底层结构和命令:https://www.pudn.com/news/62d9282155398e076bb46e1c.html