栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

七天玩转Redis | 打卡第3天 Redis地理位置、基数统计、位图场景使用详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

七天玩转Redis | 打卡第3天 Redis地理位置、基数统计、位图场景使用详解

Redis中有三种非常实用的特殊数据类型,分别是Gaospatial地理位置、Hyperloglog基数统计、Bitmap位图场景,这三种特殊数据类型主要是对应了三种不同的使用场景。

1.Gaospatial地理位置:

在高德,百度,腾讯等地图工具里,输入两个位置,就能得到两个位置之间的距离,这个操作,在Redis的Gaospatial地理位置中都可以实现。
首先是灰小猿大佬推荐的查询全国城市经纬度的网站。
查询全国城市经纬度的网站
地图中,如果我们想要查询一个位置,那么其实都是依据这个位置的坐标来实现的,查询之前,一定是需要先将这个坐标输入,Redis的Gaospatial中添加地理位置坐标的命令是GEOADD。
我们分别先查到武穴市和烟台市芝罘区的经纬度。


然后将经纬度存入key是china:city的索引中。输出之后:
127.0.0.1:6379> GEOADD china:city 115.55 29.84 wuxue
(integer) 1
127.0.0.1:6379> GEOADD china:city 121.40 37.54 yantaizf
(integer) 1
然后GEOPOS查询一个或多个地理位置坐标
127.0.0.1:6379> GEOPOS china:city wuxue

    “115.55999907255172729”“29.84999926510690784”
    127.0.0.1:6379> GEOPOS china:city yantaizf“121.40999907255172729”“37.54999926510690784”
    GEODIST查询两地之间的距离
    GEORADIUS以坐标为中心来范围搜索地理位置
    查询深圳市福田区(114.05571,22.52245)半径1000km之内的城市
    127.0.0.1:6379> GEORADIUS china:city 114.05 22.52 1000 km“shenzhen”“guangzhou”
    GEORADIUSBYMEMBER以位置为中心来范围搜索地理位置,可以用于输入一个确定的地理位置进行范围搜索。
    如我们查询以太原为中心,800km以内的城市。
    127.0.0.1:6379> GEORADIUSBYMEMBER china:city taiyuan 800 km“zhengzhou”“taiyuan”“beijing”
2.Hyperloglog基数统计:

基数计算(cardinality counting)指的是统计一批数据中的抛去重复元素后数据的个数
引用灰小猿大佬举的一个例子:
比如我们现在定义两个数字集合h1和h2

h1={1,3,5,7,9,7}

h2={3,4,6,8,9,5}

那么h1中抛去重复后得到的数据集合是{1,3,5,7,9},所以h1的基数就是5,h2中跑去重复的元素后得到的集合是{3,4,6,8,9,5},所以h2是的基数就是6
这种可以用于计算有多少人访问了网站,比如一个人来访问一次,就用一个数进行记录,这样就能比较准确的得知访问的人数。
以下进行操作:
PFADD创建一组数据
PFCOUNT统计数据集的基数数量,mynum1”中的七个元素都不重复,那么基数是7。查询“mynum3”,“mynum3”中的n重复,那么基数是4
PFMERGE合并数据集,将“mynum1”和“mynum2”合并并集为“mynum4”,再求“mynum4”的基数,得到13,是因为其中的f和g重复。

3.Bitmap位图场景:

Redis中的Bitmap位图是通过操作二进制位来实现的,在其中存储的数据要么是0,要么是1。
位图使用场景:统计用户活跃度,如果在线则为1,不在线为0,打卡,打卡成功为1,打卡不成功为0。
以下进行操作:
SETBIT在Redis中给一个Bitmap输入数据
如我们输入某个员工一周的打卡记录,数据集的索引是“mybit1”,注意数据集的下标是从0开始的。
BITCOUNT统计“1”的个数。

4.总结:

学习了Redis中的三种特殊数据类型:Gaospatial地理位置、Hyperloglog基数统计、Bitmap位图场景。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715816.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号