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());//存储结构占用的总位数(包括未设置的位)


    }
}

基本操作命令总结

相关推荐
imHanweihu1 分钟前
基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践
java·onlyoffice·poi-tl
月夕·花晨5 分钟前
Gateway -网关
java·服务器·分布式·后端·spring cloud·微服务·gateway
失散135 分钟前
分布式专题——6 Redis缓存设计与性能优化
java·redis·分布式·缓存·架构
杏花春雨江南5 分钟前
Spring Cloud Gateway 作为一个独立的服务进行部署吗
java·开发语言
GSDjisidi6 分钟前
东京本社招聘 | 财务负责人 & 多个日本IT岗位(Java/C++/Python/AWS 等),IT营业同步招募
java·开发语言·aws
不爱洗脚的小滕13 分钟前
【Redis】Scan 命令使用教程:高效遍历海量数据
数据库·redis·bootstrap
叫我阿柒啊17 分钟前
Java全栈开发面试实战:从基础到微服务的完整技术栈解析
java·spring boot·微服务·前端框架·vue·jwt·全栈开发
前行的小黑炭19 分钟前
Android:在项目当中可能会遇到的ANR,应该如何解决?
android·java·kotlin
索迪迈科技1 小时前
Flink Task线程处理模型:Mailbox
java·大数据·开发语言·数据结构·算法·flink