redis计算两地经纬度

该博客介绍了如何利用Redis的GEO数据类型来查询两地之间的经纬度距离,包括配置和测试代码的展示,以及与在线工具查询结果的对比。

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

通过Redis拓展的GEO数据类型查询两地之间的距离

最近了解到redis还有几种拓展数据类型,GEO,hyperLogLog,bitmaps

GEO

GEOADD locations 116.419217 39.921133 beijin
GEOPOS locations beijin
GEODIST locations tianjin beijin km 	计算距离
GEORADIUSBYMEMBER locations beijin 150 km  通过距离计算城市
注意:没有删除命令  它的本质是zset  (type locations)
所以可以使用zrem key member  删除元素
zrange key  0   -1  表示所有   返回指定集合中所有value

hyperLogLog

Redis 在 2.8.9 版本添加了 HyperLogLog 结构。
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的
在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
PFADD 2017_03_06:taibai 'yes' 'yes' 'yes' 'yes' 'no'
PFCOUNT 2017_03_06:taibai    统计有多少不同的值
1.PFADD 2017_09_08:taibai uuid9 uuid10 uu11
2.PFMERGE 2016_03_06:taibai 2017_09_08:taibai   合并
注意:本质还是字符串 ,有容错率,官方数据是0.81%

bitmaps

setbit taibai 500000 0
getbit taibai 500000
bitcount taibai
Bitmap本质是string,是一串连续的2进制数字(01),每一位所在的位置为偏移(offset)。
string(Bitmap)最大长度是512 MB,所以它们可以表示2 ^ 32=4294967296个不同的位。

代码部分

1.pom.xml
<dependencies>
        <dependency>
            <groupId>org.springframework
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值