失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > redis新数据类型-bitmaps

redis新数据类型-bitmaps

时间:2019-05-12 02:57:24

相关推荐

redis新数据类型-bitmaps

尚硅谷bilibili视频讲解:/video/BV1Rv41177Af?p=15

简介

现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 01100010和01100011,如下图

合理地使用操作位能够有效地提高内存使用率和开发效率。

(1)Bitmaps本身不是一种数据类型, 实际上它就是字符串(key-value) , 但是它可以对字符串的位进行操作。

(2)Bitmaps单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。

命令

# 设置Bitmaps中某个偏移量的值(value值为0或1),偏移量从0开始setbit <key> <offset> <value># 获取Bitmaps字节数组中某个偏移量的值getbit <key> <offset># 统计字符串从start字节到end字节比特值为1的数量 (0 到 -1)表示0到最后bitcount <key> [start end]# bitop是一个复合操作, 它可以做多个Bitmaps的and(交集) 、 or(并集) 、 not(非) 、 xor(异或) # 操作并将结果保存在新的destkey中。bitop and (or/not/xor) <destkey> [key…]

Bitmaps与set对比

假设网站有1亿用户, 每天独立访问的用户有5千万, 如果每天用集合类型和Bitmaps分别存储活跃用户可以得到表

很明显, 这种情况下使用Bitmaps能节省很多的内存空间, 尤其是随着时间推移节省的内存还是非常可观的

如果觉得《redis新数据类型-bitmaps》对你有帮助,请点赞、收藏,并留下你的观点哦!

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