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博客

相关推荐
莫叫石榴姐1 小时前
数仓建模:DataX同步Mysql数据到Hive如何批量生成建表语句?| 基于SQL实现
大数据·数据库·hive·hadoop·sql·mysql·数据分析
莫叫石榴姐2 小时前
趣味SQL | 从围棋收官到秦楚大战的数据库SQL实现(下)
大数据·数据库·人工智能·sql·算法
Yan-D2 小时前
【Redis 源码】5zskiplist跳跃表
数据库·redis·缓存
开源哥662 小时前
【含文档】基于Springboot+微信小程序 的高校二手商品交易平台(含源码+数据库+lw)
数据库·spring boot·微信小程序
好记忆不如烂笔头abc2 小时前
一次oracle迁移11g到19c后用到的对象数量对比脚本
数据库·oracle
尘浮生2 小时前
Java项目实战II基于Java+Spring Boot+MySQL的美容院管理系统设计与实现(源码+数据库+文档)
java·开发语言·数据库·spring boot·mysql·maven·intellij-idea
小安运维日记3 小时前
Linux云计算 |【第四阶段】NOSQL-DAY2
linux·运维·服务器·redis·云计算·nosql
白总Server3 小时前
Exabyte在云计算中应用?
大数据·数据库·redis·mysql·缓存·云计算·cdn
lu9up3 小时前
Oracle逻辑备份脚本【生产环境适用】
数据库·oracle
YashanDB3 小时前
【YashanDB知识库】客户端字符集与数据库字符集兼容问题
数据库·yashandb·崖山数据库·yashandb知识库