腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
Redis 深度历险记
共 27 篇文章
加入清单架
1
Redis系统学习之入门
2
Redis系统学习之Windows安装
3
Redis系统学习之Linux安装
4
Redis系统学习之Redis性能测试工具
5
Redis系统学习之基础知识
6
Redis系统学习之五大基本数据类型(Redis-Key)
7
Redis系统学习之五大基本数据类型(String(字符串))
8
Redis系统学习之五大基本数据类型(List(列表))
9
Redis系统学习之五大基本数据类型(Set(集合))
10
Redis系统学习之五大基本数据类型(Hash(哈希))
11
Redis系统学习之五大基本数据类型(Zset(有序集合))
12
Redis系统学习之三种特殊数据类型(geospatial(地理位置))
13
Redis系统学习之三种特殊数据类型(hyperloglog(基数统计))
14
Redis系统学习之三种特殊数据类型(bitmaps(位图))
15
Redis系统学习之事物
16
Redis系统学习之Java操作RedisAPI(Jedis)
17
Redis系统学习之SpringBoot集成Redis操作API(创建SpringBoot项目)
18
Redis系统学习之SpringBoot集成Redis操作API(集成SpringDataRedis及其分析)
19
Redis系统学习之自定义RedisTemplate
20
Redis系统学习之配置文件解读(非常全)
21
Redis系统学习之持久化(RDB)
22
Redis系统学习之持久化(AOF)
23
Redis系统学习之发布订阅
24
Redis系统学习之主从复制
25
Redis系统学习之哨兵模式
26
Redis系统学习之其他高可用模型
27
Redis系统学习之缓存穿透,缓存击穿,缓存雪崩的概念及其解决方案
清单首页
Redis 深度历险记
文章详情
清单「Redis 深度历险记」 12/27
Redis系统学习之三种特殊数据类型(geospatial(地理位置))
彼岸舞
·人瑞java开发工程师
geospatial(地理位置)
朋友的定位,附近的人,打车距离计算,主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
添加地理位置
geoadd key 经度 纬度 城市名称[多个添加,经纬度城市名称循环]
两级(南极和北极)无法添加,一般通过程序导入
添加北京位置
添加河北和上海位置
获取地理位置
geopos key value
获取北京和上海的位置
计算两个位置之间的距离(直线距离[笑哭,谁会查直线距离])
geodist key 位置1 位置2 [m|km|ft|mi](单位)
m :米,默认单位。
km :千米。
mi :英里。
ft :英尺。
计算河北和北京之间的距离,单位为千米
以指定的经纬度为中心,找出某一半径内的元素
GEORADIUS key 维度 经度 半径长度 m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]
GEORADIUSBYMEMBER key 位置名称 .... 和上面的georadius一样 只不过是把经纬度换成了已存在的地理位置名称
m :米,默认单位。
km :千米。
mi :英里。
ft :英尺。
WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。
WITHCOORD: 将位置元素的经度和维度也一并返回。
WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。
COUNT 限定返回的记录数。
ASC: 查找结果根据距离从近到远排序。
DESC: 查找结果根据从远到近排序。
搜索经度110 维度30 附近1000km内的位置,或者2000米的位置
可以用于做附近的人,比如附近100m内的玩家XXX,感觉王者是不是这么做的
返回一个或多个地理位置的11位的哈希值(一般用不到)
geohash key value[value循环,多个空格拆分]
其他命令,底层是用Zset实现的,可以用zset的删除和查看等命令
查看
删除
.......
使用场景
计算两地之间的直线距离
存储地理位置
实现位置的附近人功能
作者:彼岸舞
时间:2021\05\05
内容关于:Redis
本文属于作者原创,未经允许,禁止转发
下一篇
举报
领券