当前位置: 首页 > news >正文

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


    }
}

基本操作命令总结

 

 

 

 

 

 

 

 

http://www.dtcms.com/a/106651.html

相关文章:

  • CORS与OPTIONS请求
  • 蓝桥杯 游戏 6251 单调队列
  • .NET 创建MCP使用大模型对话
  • 【计网速通】计算机网络核心知识点与高频考点——数据链路层(二)
  • kafka消息可靠性传输语义
  • 大语言模型开发框架——LangChain
  • 使用PyTorch实现LeNet-5并在Fashion-MNIST数据集上训练
  • 【Linux】内核驱动学习笔记(二)
  • 基于Spring AI与Ollama构建本地DeepSeek对话机器人
  • 数据库分库分表中间件及对比
  • ensp 网络模拟器 思科华为基于VLANIF的公司网络搭建
  • 2025.4.2总结
  • Go语言GC:三色标记法工程启示|Go语言进阶(3)
  • K-means算法
  • 从零搭建微服务项目Pro(第7-1章——分布式雪花算法)
  • cmake(11):list 选项 排序 SORT,定义宏 add_definitions,cmake 里预定义的 8 个宏
  • Git 命令大全:通俗易懂的指南
  • 基于大模型预测风湿性心脏病二尖瓣病变的多维度诊疗研究报告
  • 内网隔离环境下Java实现图片预览的三大解决方案
  • 【Django开发】前后端分离django美多商城项目第15篇:商品搜索,1. Haystack介绍和安装配置【附代码文档】
  • 从 ZStack 获取物理机与云主机信息并导出 Excel 文件
  • visual studio 2022的windows驱动开发
  • C# System.Text.Json 中 JsonIgnoreCondition 使用详解
  • Linux2 CD LL hostnamectl type mkdir dudo
  • 跨系统平台实践:在内网自建kylin服务版系统yum源
  • 面基JavaEE银行金融业务逻辑层处理金融数据类型BigDecimal
  • AI提示词:好评生成器
  • 鸿蒙NEXT小游戏开发:数字华容道
  • 详解相机的内参和外参,以及内外参的标定方法
  • 背包DP总结