Redis高级数据类型

一、Redis除了String、HashMap、List、Set、Zset这5种常见的基础数据类型,还有一些高级的数据类型:BitMaps、GEO、HeyperLogLog

二、BitMaps:

1、可以理解为boolean [] arrays;

2、为什么Redis有了String类型,还要有BitMaps这种类型?一切为了性能

String类型:计算机存储字符串类型,一般是一个字符2个字节(英文),一个字节8位bit,那么,一个英文字符是16位bit;

BitMaps类型:使用一位bit来存储某些特殊场景,比如某个用户的id是否存在于某个集合中,key=用户id,当用户存在时,value=1,当用户不存在时,value=0;

优势:大大节约内存空间;如果使用String类型,实际有效位数只有最后一位;

3、实现

(1)  setbit   key    index     value

其中,index为该key在boolean  [] arrays 中的位置(偏移量),value为0或者1

4、使用BitMaps 实现过滤器原理:

(1)布隆过滤器,是一种算法,用来判断一个元素是否在一个集合种;
(2)这种算法由一个二进制数组和一个Hash算法组成,是一种概率型的算法;
(3)这种算法有一个作用:判断某个元素是否在某个集合里面;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值