失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Redis Bitmap 位图

Redis Bitmap 位图

时间:2020-11-29 06:04:35

相关推荐

Redis Bitmap 位图

Redis Bitmap并不是一个实际的数据类型,而是定义在String类型上的bitwise基于二进制位的一组操作。

因为String是二进制安全的,最大长度512MB,适合构建2的32方个不同的bits,在每个bit位上存储0或1,适合存储boolean类型的信息。

这种方式记录,比使用key/value,最大的优点就是可以节省大量的存储空间。

1、单bit的赋值和查询提取操作,setbit key bit_number bit_value,getbit key,

其中setbit 命令 第一个参数为key,第二个参数为bit位数,从0开始计数,第三个参数为该bit位上存储的数值,值为1或者0,默认不写的话为0,

例如:setbit bitKey 1001, setbit bitKey 10 1, setbit bitKey 0 1

getbit bitKey 10,返回1

2、基于一组bit的操作

bitcount bitKey,统计存储1的bit的个数。

bitpos bitKey 1,第一个为1的bit位置

bitpos bitKey 0, 第一个为0的bit位置

这个 bitcount 统计功能,记录网站用户在某段时间每天是否登录,登录的话记录1,不登录的话记录0,比如第1,3,10,12,15天登录了,可以设置

setbit user:123 1 1

setbit user:123 31

setbit user:123 10 1

setbit user:123 12 1

setbit user:123 1 51

然后使用bitcount user:123 统计实际多少天登录了。

3、bitop 位元操作

使用方法:bitop operation resultKey bitKey1 bitKey2 bitKey3

意思是 对bitKey1,bitKey2, bitKey3 几个key的数据进行operation操作,结果存储在 resultKey 中

operation 可以为and 逻辑并,or逻辑或,xor逻辑异或,not非

如果觉得《Redis Bitmap 位图》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。