本文会直接展示单元测试的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());//存储结构占用的总位数(包括未设置的位)
}
}
基本操作命令总结



