当前位置: 首页 > news >正文

每日一Go-43、Go+Redis实现附近的人和场馆

很多社交APP都有附近的人和附近的店铺、骑手等功能,那么这个功能是如何实现的呢?其实是利用Redis的GEO命令。

一、为什么选Redis?

Redis提供了GEO系列命令,底层基于GeoHash+ZSet,有如下优势:

  • 内存级别速度

  • 支持距离、范围、排序

  • 不用自己写复杂索引

特别适合的场景有:

  • 附近的人

  • 附近的店铺

  • 附近的司机/骑手

二、Redis GEO核心命令

命令
作用
GEOADD
添加位置
GEOPOS
查询坐标
GETDIST
计算距离
GEORADIUS
按坐标查附近半径内的人
GEORADIUSBYMEMBER
按某人查附近
GEOSEARCH
功能和GEORADIUS一样,但是可以知道查询范围为长方形区域

新版的redis推荐用GETSEARCH,而不是GEORADIUS。

三、直接写代码吧

3.1 准备全局Redis客户端

internal/global/redis.go

/* generated by comer,https://github.com/imoowi/comer Copyright © 2023 jun<simpleyuan@gmail.com> */packageglobalimport("github.com/redis/go-redis/v9""github.com/spf13/cast""github.com/spf13/viper""go.uber.org/zap")// 全局Redis客户端varRedis*redis.Client// 初始化redisfuncinitRedis(){addr:=viper.GetString("redis.addr")ifaddr==""{panic("请在配置文件里配置【redis.addr")}pass:=viper.GetString("redis.password")ifpass==""{panic(
http://www.jsqmd.com/news/582130/

相关文章:

  • 一文读懂甘肃建筑资质代办:如何找到合规、高效、省心的合作方? - 深度智识库
  • Linux命令-mysqldump(MySQL数据库中备份工具)
  • 企业级管理系统架构与实践:RuoYi-Vue-Plus全解析
  • 拆解 OpenHands(6)--- 事件系统
  • 2026最新贵州银行招聘辅导推荐!优质培训机构权威榜单发布 - 十大品牌榜
  • 突破内存访问限制:CheatEngine-DMA插件完全使用指南
  • 新手福音:用快马生成带详解的排序算法代码,轻松入门
  • 3分钟解锁Beyond Compare专业版:开源密钥生成器全攻略
  • 告别课题申报焦虑,只需这一招!
  • 短波红外热像仪选购指南:口碑、售后、性价比,如何做出最佳选择? - 品牌推荐大师
  • Wan2.2-I2V-A14B惊艳案例:‘樱花飘落的古风庭院’10秒动态视频生成实录
  • 浅析分批分页查询场景及方案
  • 探秘食品级真空上料机生产厂家,解锁食品输送新体验 - 品牌推荐大师
  • Sketch设计文件命名规范化的技术解决方案:RenameIt批量重命名插件深度解析
  • swagger转word--python版本
  • 5分钟完全指南:用开源tcc-g15掌控Dell G15散热,告别官方AWCC卡顿
  • d2s-editor:革新性暗黑2存档管理的一站式工具
  • 遇到一个口头机遇的答辩准备2(ai告诉的要点)
  • 2026最新西南考银行培训推荐!贵州/贵阳优质银行招考培训权威榜单 - 十大品牌榜
  • 突破Windows远程桌面限制:RDP Wrapper Library全方位应用指南
  • P1884 [USACO12FEB] Overplanting S
  • 如何避免机械拼凑式的基金申请书撰写
  • idea比对两个文件差异
  • 随笔其二
  • 基于蓝牙及GSM的智能防盗系统设计与实现
  • 2026全自动三坐标测量机品牌实力榜单:谁更值得选? - 品牌推荐大师
  • 华硕笔记本终极性能控制指南:用GHelper取代臃肿的Armoury Crate
  • 3步掌握创意工坊壁纸高效获取工具
  • 2026届毕业生推荐的十大AI写作助手推荐榜单
  • 3个核心价值:Tiktokenizer如何解决AI开发中的令牌管理难题