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


    }
}

基本操作命令总结

相关推荐
兰亭序咖啡21 分钟前
学透Spring Boot — 018. 优雅支持多种响应格式
java·spring boot·后端
小雨凉如水25 分钟前
docker 常用命令
java·docker·eureka
高山流水&上善44 分钟前
医药档案区块链系统
java·springboot
南汐以墨1 小时前
探秘JVM内部
java·jvm
Craaaayon1 小时前
Java八股文-List集合
java·开发语言·数据结构·list
西元.1 小时前
详解 Redis repl_backlog_buffer(如何判断增量同步)
数据库·redis·缓存
信徒_2 小时前
Spring 怎么解决循环依赖问题?
java·后端·spring
2301_794461572 小时前
多线程编程中的锁策略
java·开发语言
老华带你飞2 小时前
木里风景文化|基于Java+vue的木里风景文化管理平台的设计与实现(源码+数据库+文档)
java·数据库·vue.js·毕业设计·论文·风景·木里风景文化管理平台
SofterICer2 小时前
Eclipse Leshan 常见问题解答 (FAQ) 笔记
java·笔记·eclipse