Redis新数据类型-Bitmaps

目录

Bitmaps

简介

命令

[1. setbit](#1. setbit)

[(1) 格式](#(1) 格式)

[(2) 实例](#(2) 实例)

[2. getbit](#2. getbit)

[(1) 格式](#(1) 格式)

[(2) 实例](#(2) 实例)

[3. bitcount](#3. bitcount)

[(1) 格式](#(1) 格式)

[(2) 实例](#(2) 实例)

[4. bitop](#4. bitop)

[(1) 格式](#(1) 格式)

[(2) 实例](#(2) 实例)

我的其他博客


Bitmaps

简介

Bitmaps 是 Redis 的一种新数据类型,它是一种用于存储位信息的数据结构,通常被用来表示状态或者标记。
现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如"abc"字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, "abc"分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 01100010和01100011,如下图:

命令
1. setbit
(1) 格式
复制代码
SETBIT key offset value
  • key: 要操作的键名。
  • offset: 位的偏移量。
  • value: 要设置的位的值,只能是 0 或 1。
(2) 实例
复制代码
SETBIT mybitmap 0 1
SETBIT mybitmap 2 1
SETBIT mybitmap 5 1

mybitmap 中,将第 0、2 和 5 位的值设置为 1。

2. getbit
(1) 格式
复制代码
GETBIT key offset
  • key: 要查询的键名。
  • offset: 位的偏移量。
(2) 实例
复制代码
GETBIT mybitmap 2

查询 mybitmap 中第 2 位的值。

3. bitcount
(1) 格式
复制代码
BITCOUNT key [start end]
  • key: 要统计的键名。
  • start: 开始计数的位偏移量,默认为 0。
  • end: 结束计数的位偏移量,默认为 -1,表示统计整个位图。
(2) 实例
复制代码
BITCOUNT mybitmap 1 6

统计 mybitmap 中从第 1 位到第 6 位之间值为 1 的位的数量。

4. bitop
(1) 格式
复制代码
BITOP operation destkey key [key ...]
  • operation: 操作类型,支持 AND、OR、XOR、NOT。
  • destkey: 存储结果的键名。
  • key: 参与操作的键名,可以是一个或多个。
(2) 实例
复制代码
BITOP AND resultkey key1 key2
BITOP OR resultkey key1 key2 key3
BITOP XOR resultkey key1 key2
BITOP NOT resultkey key

执行位运算操作,将结果存储在 resultkey 中。

以上是关于 Redis 新数据类型 Bitmaps 的一些基本介绍和常用命令,通过这些命令可以方便地进行位图的设置、获取、统计和位运算等操作。

我的其他博客

简单介绍一些其他的树-CSDN博客

认识二叉树(详细介绍)-CSDN博客

正则表达式详细讲解-CSDN博客

低代码开发:创新之道还是软件开发的捷径?-CSDN博客

HTTP与HTTTPS的区别-CSDN博客

什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查-CSDN博客

在多线程中sleep()和wait()的区别(详细)-CSDN博客

谈谈我对HashMap扩容机制的理解及底层实现-CSDN博客

堆排序详细讲解(一文足矣JAVA)-CSDN博客

相关推荐
木风小助理11 分钟前
B+树何以成为数据库索引的“天选之结构”?
数据库
7ioik13 分钟前
为什么lnnoDB存储引擎默认使用B+树作为索引结构?
数据库·b树·oracle
斯普信专业组2 小时前
PostgreSQL高可用集群部署与配置指南
数据库·postgresql
利刃大大2 小时前
【MyBatis】MyBatis操作动态sql && MyBatisGenerator
数据库·sql·mybatis
a努力。3 小时前
美团Java面试被问:Redis集群模式的工作原理
java·redis·后端·面试
一瓢西湖水3 小时前
loader命令导出大批量数据维护SQL
数据库·sql
颜颜yan_3 小时前
时序数据库选型指南:工业物联网时代如何选择数据底座
数据库·物联网·时序数据库
云和数据.ChenGuang4 小时前
Logstash配置文件的**语法解析错误**
运维·数据库·分布式·rabbitmq·jenkins
CICI131414134 小时前
焊接机器人负载能力选择标准
网络·数据库·人工智能
minhuan4 小时前
大模型应用:从交易行为到实时反欺诈:向量数据库驱动的智能风控实践.33
数据库·向量数据库·大模型应用·chromadb数据库