Redisson中BitMap位图的基本操作

本文会直接展示单元测试的Demo

get(),set(),not()

复制代码
package com.example.transational;

import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.redisson.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

@SpringBootTest
@Slf4j
public class TestBitMap {
    @Resource
    RedissonClient redissonClient;

    @Test
    void test(){
         RBitSet bitmap = redissonClient.getBitSet("Kira-BigMap-Test");
        int number1=31314513;
        int number2=31314514;
        //我们把Number1和Number2位置设置为1
        bitmap.set(number1,true);
        bitmap.set(number2,true);

        log.info("Number1是否存在:{}",bitmap.get(number1));
        log.info("Number2是否存在:{}",bitmap.get(number2));
        // 获取总位数(不是设置过的位数)
        long bitLength = bitmap.size();
        log.info("总位数:{}",bitLength);

        // 位反转(原始数据修改)
        bitmap.not();
        log.info("Number1是否存在:{}",bitmap.get(number1));
        log.info("Number2是否存在:{}",bitmap.get(number2));

    }


}

cardinality(),size()

复制代码
package com.example.transational;

import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.redisson.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

@SpringBootTest
@Slf4j
public class TestBitMap {
    @Resource
    RedissonClient redissonClient;

 

    @Test
    void test(){
        RBitSet bitmap = redissonClient.getBitSet("Kira-BigMap-Test");

        log.info("Number2是否存在:{}",bitmap.cardinality());//实际被设为1的个数
        log.info("Number2是否存在:{}",bitmap.size());//存储结构占用的总位数(包括未设置的位)


    }
}

基本操作命令总结

相关推荐
花颜yyds1 分钟前
Java 开发基础速查手册
java
没钥匙的锁131 分钟前
05-Java面向对象构造器与封装
java·开发语言
aaPIXa6221 小时前
C++采样引导优化SPGO——比PGO更智能的编译器决策新方案
java·c++·人工智能
蓝银草同学1 小时前
Stream 实战:博客列表排序、过滤与分页(AI 辅助学习 Java 8)
java·前端·后端
某不知名網友2 小时前
C/C++动态内存管理,智能指针及RAlI思想。
java·c语言·c++
沫离痕3 小时前
Cassandra 4.0.11 Docker 安装与配置手册
java·spring boot
plainGeekDev3 小时前
libs 目录 → Gradle 依赖管理
android·java·kotlin
CodeStride3 小时前
就像长跑配速一样,我是如何平衡代码性能与可读性的
java
弹简特3 小时前
【Java项目-企悦抽】07-用户与认证模块-实现用户注册01
java·开发语言
L歪歪君3 小时前
Apache Doris全链路性能优化实战指南:从架构设计到生产落地
java·开发语言·算法