二、Redis高级数据类型

一、高级数据类型

Bitmaps

HyperLogLog​

GEO

二、Bitmaps

1、数据结构

一个byte数组,某一个位置为1表示一个元素

2、命令

命令

作用

setbit key index 1

设置bitmaps某个下标对应的元素为1

getbit key index

查询bitmaps某个下标对应的元素

bitcount key

查询bitmaps值为1的个数

三、布隆过滤器

1、作用

判断一个元素是否在集合中;

概率判断;

2、算法

由一个二进制数组和一个hash算法组成;

每个元素取hash值后确认在数组的位置;

3、缺陷

出现hash碰撞的时候会误判,判断为存在不可信,判断为不存在才可信;

4、结构:

5、优化:

增大数组;

增加几层hash算法;

四、HyperLogLog

1、作用

提供不精确的去重计数,标准误差是0.81%

2、原理解析

hyperloglog基于概率论中伯努利试验并结合了极大似然估算方法,并做了分桶优化;

涉及算法:伯努利试验、极大似然估算、分桶优化

3、适用场景

统计网站中某个页面的独立访问量

4、命令

命令

作用

pfadd key u1 u2 u3...

向hyperloglog中添加元素

pfcount key

查询hyperloglog中的元素个数

pfmerge newkey key1 key2

将key1和key2的元素合并到newkey中

5、注意

不属于一个数据类型,就是一个字符串

五、GEO

1、作用 & 数据结构

支持地理位置距离排序算法

支持存储地理位置信息用来实现附近位置的功能

使用的是zset的结构

2、命令

命令

作用

geoadd key 经度 维度 member

添加一个城市

geopos key member1 member2 ...

查询多个城市的经纬度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值