GEORADIUS 返回空结果通常因坐标顺序错误,必须经度在前、纬度在后;默认不排序,需加ASC/DESC;单位必须显式指定;同一member重复GEOADD会覆盖旧坐标。GEORADIUS 返回空结果?先检查坐标存入格式是否正确Redis 的 GEORADIUS 不会报错,但返回空数组时,八成是数据没存对------它只接受「经度在前、纬度在后」的顺序,和常见地图 API(如高德、百度)的「纬度在前、经度在后」相反。用 GEOADD 存位置时,必须写成 GEOADD users 116.48 39.92 "uid:1001"(经度 116.48,纬度 39.92)如果误写为 GEOADD users 39.92 116.48 "uid:1001",坐标就飞到南极附近,GEORADIUS 自然查不到可用 GEOPOS 验证:执行 GEOPOS users "uid:1001",看返回的经纬度是否落在合理地理范围内GEORADIUS 查询结果乱序?默认不按距离排序默认情况下,GEORADIUS 返回的是无序集合,不是按"由近到远"排好的。你看到的顺序取决于 Redis 内部哈希桶遍历逻辑,不能依赖。加 ASC 参数才能升序(最近的在前):GEORADIUS users 116.48 39.92 5 km ASC加 DESC 才降序(最远的在前)不带 ASC/DESC 时,即使加了 WITHDIST,距离字段也和元素一一对应,但元素本身不排序如果业务需要分页(比如"加载下一页"),别用 count + 偏移,而应结合 STORE 或 STOREDIST 缓存结果再切片,否则多次查询可能因并发写入导致结果漂移查不到 500 米内的人?注意单位和精度限制GEORADIUS 的距离单位只有 m(米)、km、mi(英里)、ft(英尺)四种,没有 cm 或 nm;而且 Redis Geo 使用的是 Geohash,5 位精度约 2.4km,7 位才到约 19m------它天生不适合亚米级场景。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。
相关推荐
李兆龙的博客11 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性数字融合11 小时前
透明化视频三维矿山井下照明重建技术yi01111 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”Marst Code12 小时前
上位机开发日记 · 第 2 篇 · 架构先行:六层分层与边界倔强的石头_13 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品闲云野鹤在人间13 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解禾小西13 小时前
Redis:从两大维度和三大主线建立知识体系李日华大战鸡红13 小时前
FOC状态空间方程模型推导(学习记录)禾小西14 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?数据库小学妹14 小时前
数据共享交换平台选型:交换方式对比与避坑指南