REDIS LBS 查找附近XX距离内的人或地址

本文介绍了Redis中GEO地理查询功能及其使用方法,包括GEORADIUS命令的具体应用。通过实验展示了不同查询范围下时间复杂度的变化,如20W条数据情况下,查询200公里内3000+结果耗时30+毫秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--------------------------------------------------------------------------------------------------------

Redis 也支持了GEO地理查询 ;命令GEORADIUS  ;具体用法可以参考官方说明文档;

时间复杂度:O(N+log(M)), 其中 N 为指定半径范围内的位置元素数量, 而 M 则是被返回位置元素的数量。

范围内数据比较稠密的时候,延迟比较大;

(go客户端)

-- 查找 13.1 38.1 地点,周围 200 公里内的地点,并返回距离 ,--【限制返回10条

"GEORADIUS", "GeoKey","13.1","38.1","200","km","WITHDIST"   --【"COUNT","10"

2核2G虚拟机

20W条数据,查询200公里内的地点,3000+结果要30+ms;

50公里内的地点,60条记录,约6ms;

20公里内的地点,10条结果约0.6ms;

--------------------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值