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


    }
}

基本操作命令总结

相关推荐
MC皮蛋侠客2 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
离陌在学C#2 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
洛阳泰山2 小时前
AI 应用层被 Python 卷成红海,为什么我偏要用 Java 造一个 RAG + 工作流引擎?
java·人工智能·后端
二十雨辰3 小时前
[Java]-Spring面试题
java·开发语言
老马历写记3 小时前
Maven POM 依赖管理总结
java·maven·system·pom·optional
古法安卓3 小时前
Android-车机 GNSS 定位数据接收问题排查
android·java·android studio
蔬菜_3 小时前
前端转全栈-day5(数组、list、set)
java·前端·数据结构·list
萧瑟余晖3 小时前
Java深入解析篇二十二之虚拟线程
java·开发语言
OuO-23 小时前
笔试强训 Day 34:ISBN 号码、kotori 和迷宫、矩阵最长递增路径
java·算法·矩阵
油丶酸萝卜别吃4 小时前
Java 集合类全景介绍
java·开发语言