【Redis GEO】1、地理位置类型的基本用法

1、Redis GEO介绍

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。

Redis GEO 操作方法有:

  • geoadd:添加地理位置的坐标。
  • geopos:获取地理位置的坐标。
  • geodist:计算两个位置之间的距离。
  • georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。
  • georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
  • geohash:返回一个或多个位置对象的 geohash 值。

2、geoadd

geoadd 用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。geoadd 语法格式如下:

java 复制代码
GEOADD key longitude latitude member [longitude latitude member ...]

其中,key 是键名,longitude 和 latitude 是地理位置的经度和纬度,member 是地理位置的成员名,例如:

java 复制代码
GEOADD citys 121.506379 31.245414 "东方明珠广播电视塔"

上述命令将【东方明珠广播电视塔】的经度为 121.506379,纬度为 31.245414 的地理位置添加到了名为【citys】的键中,并将其成员名设置为 "东方明珠广播电视塔"

3、geopos

geopos 用于从给定的 key 里返回所有指定名称(member)的位置(经度和纬度),不存在的返回 nil。geopos 语法格式如下:

java 复制代码
GEOPOS key member [member ...]

其中,key 是键名,member 是地理位置的成员名

例如,上面我们已经添加了 【东方明珠广播电视塔】的地理位置信息,我们可以使用以下命令获取其经度和纬度:

java 复制代码
GEOPOS citys "东方明珠广播电视塔"

上述命令将返回【东方明珠广播电视塔】的经度和纬度,例如:121.506379,31.245414

4、geodist

geodist 用于返回两个给定位置之间的距离。geodist 语法格式如下:

java 复制代码
GEODIST key member1 member2 [m|km|ft|mi]

其中,key 是键名,member1 和 member2 是地理位置的成员名,最后一个参数是距离的单位,默认为 "m"(米)。最后一个距离单位参数说明:

  • m :米,默认单位。
  • km :千米。
  • mi :英里。
  • ft :英尺。

例如,上面我们已经添加了 【东方明珠广播电视塔】的地理位置信息,我们再添加一个地理位置信息:

java 复制代码
GEOADD citys 121.671964 31.148267 "上海迪士尼度假区"

然后,获取两个地理位置的距离:

java 复制代码
GEODIST citys "东方明珠广播电视塔" "上海迪士尼度假区"

上述命令将返回【东方明珠广播电视塔】和【上海迪士尼度假区】之间的距离,单位为米。

5、总结

本文介绍了 Redis 的地理位置类型(Geo),以及与之相关的命令,包括 GEOADD、GEOPOS、GEODIST 和 INFO。通过 redis-cli 命令行工具,我们可以方便地操作 Redis 的地理位置类型,存储和查询地理位置信息。在实际应用中,地理位置类型可以用于实现附近的人、周边搜索等功能。

如您在阅读中发现不足,欢迎留言!!!

相关推荐
毕业设计7031 小时前
(免费领源码)SSM董家湾线上点餐系统04682- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
java·redis·mysql·tomcat·maven·mybatis·ssm
用户094248568033 小时前
第1章:Redis 术语全景与单线程工作原理
redis·快应用·源码阅读
hflmwl83 小时前
RedisDesktopManager安装包中文版官方下载,redis可视化客户端工具下载
数据库·redis·缓存·可视化客户端工具
用户84913717547164 小时前
订单超时未支付自动取消实现方案 | 三种方案详解
redis·面试·rabbitmq
easyboot4 小时前
Memurai Windows下的redis
redis
2601_956743685 小时前
上海GEO营销公司技术评估解析|以盾码无界公开产品路线为观察对象,梳理问题池构建、知识库事实锚定、内容审核与跨模型监测流程,明确现场演示和任务追溯的核验要求
大数据·人工智能·产品运营·技术分享·geo·上海
我不会起名字3225 小时前
Redis RDB 落盘时的 fork 停顿:COW 机制与 3 个降低影响的配置
redis·持久化·fork·cow·rdb
蓝胖的四次元口袋5 小时前
Redis 知识梳理(4)
数据库·redis
我不会起名字3226 小时前
Redis 从 0 到 1(十一):缓存穿透/击穿/雪崩三连击,Go 3 套防御代码
redis·缓存·go·布隆过滤器·雪崩
m0_6829065317 小时前
GEO 技术笔记:让站点内容可被检索系统与大模型稳定引用
ai·大模型·seo·geo·结构化数据·indexnow