目录
Bitmaps 是 Redis 的一种新数据类型,它是一种用于存储位信息的数据结构,通常被用来表示状态或者标记。
?现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 01100010和01100011,如下图:
?
SETBIT key offset value
key
: 要操作的键名。offset
: 位的偏移量。value
: 要设置的位的值,只能是 0 或 1。SETBIT mybitmap 0 1
SETBIT mybitmap 2 1
SETBIT mybitmap 5 1
在 mybitmap
中,将第 0、2 和 5 位的值设置为 1。
GETBIT key offset
key
: 要查询的键名。offset
: 位的偏移量。GETBIT mybitmap 2
查询 mybitmap
中第 2 位的值。
BITCOUNT key [start end]
key
: 要统计的键名。start
: 开始计数的位偏移量,默认为 0。end
: 结束计数的位偏移量,默认为 -1,表示统计整个位图。BITCOUNT mybitmap 1 6
统计 mybitmap
中从第 1 位到第 6 位之间值为 1 的位的数量。
BITOP operation destkey key [key ...]
operation
: 操作类型,支持 AND、OR、XOR、NOT。destkey
: 存储结果的键名。key
: 参与操作的键名,可以是一个或多个。BITOP AND resultkey key1 key2
BITOP OR resultkey key1 key2 key3
BITOP XOR resultkey key1 key2
BITOP NOT resultkey key
?
执行位运算操作,将结果存储在 resultkey
中。
以上是关于 Redis 新数据类型 Bitmaps 的一些基本介绍和常用命令,通过这些命令可以方便地进行位图的设置、获取、统计和位运算等操作。
什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查-CSDN博客
在多线程中sleep()和wait()的区别(详细)-CSDN博客
谈谈我对HashMap扩容机制的理解及底层实现-CSDN博客
?
?
?
?
?
?
?
?