⑥【bitmap 】Redis数据类型: bitmap [使用手册]

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~
Redis bitmap
- ⑥Redis bitmap 基本操作命令
- 1. setbit 设置偏移量的值(值只能0和1)
- 2. getbit 获取指定偏移量的值
- 3. strlen 统计字节数占用多少
- 4. bitcount 统计全部键里面1的数量
⑥Redis bitmap 基本操作命令
- 用String类型作为底层数据结构实现的一种统计二值状态(0,1)的数据类型
- 位图本质是数组,它是基于String数据类型的按位的操作。该数组由多个二进制位组成,每个二进制位都对应一个偏移量(我们称之为一个索引)。
- Bitmap支持的最大位数是232位,它可以极大的节约存储空间,使用512M内存就可以存储多达42.9亿的字节信息(232 = 4294967296)
常见使用场景:
- 用户是否登陆过(Y/N)
- 电影、视频、广告等是否被点击播放过
- 上班打卡签到
1. setbit 设置偏移量的值(值只能0和1)
setbit key offset value
# bitmap的偏移量是从0开始的,值只能是0或1
# 将偏移量8的值设为1
bitmap bm1 8 1
2. getbit 获取指定偏移量的值
getbit key offset
# bitmap的偏移量是从0开始的,值只能是0或1
# 获取指定偏移量的值
getbit bm1 0
getbit bm1 8
3. strlen 统计字节数占用多少
strlen key
# bitmap的偏移量是从0开始的,值只能是0或1
# 按照8偏移位一组算一个byte,设置同一组偏移位,最多只会增加1的字节占用数
strlen bm1 # 查看bm1的字节占用
4. bitcount 统计全部键里面1的数量
bitcount key [start end [BYTE|BIT]]
# 统计键中偏移量的值为1的个数,可以指定bit或byte的范围
bitcount bm1 # 统计所有偏移量值为1的个数
bitcount bm1 0 3 bit # 统计0至3bit范围内,偏移量值为1的数量
bitcount bm1 0 3 byte# 统计0至3byte范围内,偏移量值为1的数量(1byte相当于8bit)

相关文章:
⑥【bitmap 】Redis数据类型: bitmap [使用手册]
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Redis bitmap ⑥Redis bitmap 基本操作命令1. …...
CentOS升级GCC
背景 CentOS 7默认自带GCC版本4.8,而目前工作中开发环境需要用到GCC8和GCC12,这里记录一下如何升级GCC版本,以及如何多版本并存。参考: CentOS升级gcc-知乎 Redhat7上安装Red Hat Developer Toolset并自由切换gcc和g的版本 Cent…...
CodeWhisperer 体验总结
CodeWhisperer 体验总结 | CodeWhisperer 是一款亚马逊新推出的通用代码生成器 可以实时进行代码数据的提供 还可以定义安全问题 CodeWhisperer 对个人用户是免费使用 企业用户需要订阅使用 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例…...
Apache换行解析漏洞(CVE-2017-15715)
漏洞简介 Apache換行解析漏洞(CVE-2017-15715)是一种解析漏洞,可以影响httpd 2.4.0至2.4.29版本中的PHP解析。攻击者可以通过在上传的文件名中添加特定的换行符,绕过服务器的安全策略,使其被解析成PHP文件而不是普通文件。此漏洞会影响具有以下条件的服务器: 未正确配置…...
人工智能时代的内容写作
内容不再只是王道,正如俗话所说:它是一种流动的货币,推动了巨大的在线信息和影响力经济。 每个品牌都是一个故事,通过其服务和商品讲述自己。尽管如此,大多数客户还是会通过您的在线内容最了解您。 但随着我们进入人…...
ASM字节码操作类库(打开java语言世界通往字节码世界的大门) | 京东云技术团队
前言:授人以鱼不如授人以渔,应用asm的文章有很多,简单demo的也很多,那么ASM都具备哪些能力呢?如何去学习编写ASM代码呢?什么样的情景需要用到ASM呢?让我们带着这些问题阅读这篇文章吧。 这里由…...
SpringBoot 拦截器高级篇
Springboot 拦截器 定义使用场景拦截器与过滤器的区别实现步骤全局拦截器的局限性全局拦截器VS局部拦截器局部拦截器自定义局部拦截器使用多个局部拦截器 定义 拦截器是Spring MVC框架中的一个重要组件,它是一种AOP(面向切面编程)的实现方式&…...
Android frameworks 开发总结之十(lock screen message Battery Last full charge)
1.設置lock screen message後不显示 XXXt設備設置lock screen message後,發現鎖頻界面不顯示內容,像時間日期都不顯示。只在右上角顯示一個鎖圖標,需要向下滑動一下才能顯示出來。布局文件位置: frameworks/base/packages/SystemUI/res-keygu…...
[建议收藏] 一个网站集合所有最新最全的AI工具
今天给大家推荐一个宝藏的AI工具合集网站,有了这个网站,你们再也不用去其他地方找AI工具了。 名称:AI-BOT工具集 这个网站精选1000AI工具,并持续每天更新添加,包括AI写作、AI绘画、AI音视频处理、AI平面设计、AI自动编…...
嵌入式硬件基础知识——1
目录 SOC、MCU、MPU、CPU SPI STM32的时钟系统 can是什么 串口和并口 传感器输出引脚高阻抗好还是低阻抗好? iic 运算放大器特点 MOS管和三极管 同步电路和异步电路 SOC、MCU、MPU、CPU SOC 片上系统 手机的核心芯片 MCU 微控系统 单片机 MPU 嵌入式微处…...
Spring如何在多线程下保持事务的一致性
Spring如何在多线程下保持事务的一致性 方法:每个线程都开启各自的事务去执行相关业务,等待所有线程的业务执行完成,统一提交或回滚。 下面我们通过具体的案例来演示Spring如何在多线程下保持事务的一致性。 1、项目结构 2、数据库SQL CR…...
外部中断为什么会误触发?
今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发,没有停过。经过一天的学习,找到了几个解决方法,所以写了这篇笔记。如果你的中断也时不时会误触发&…...
【数据库】聊聊一颗B+树 可以存储多少数据
我们知道数据库使用的数据结构是B树,但是B树可以存储多少数据呢,在面试中也是经常会问的问题,所以我们从根上理解这个问题。 操作系统层面 数据都是存储在磁盘中的,而磁盘中的数据都是以最新单位扇区进行分割。一个扇区的大小是…...
【机器学习 | ARIMA】经典时间序列模型ARIMA定阶最佳实践,确定不来看看?
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...
Python web自动化测试 —— 文件上传
文件上传三种方式: (一)查看元素标签,如果是input,则可以参照文本框输入的形式进行文件上传 方法:和用户输入是一样的,使用send_keys 步骤:1、找到定位元素,2&#…...
wpf使用CefSharp.OffScreen模拟网页登录,并获取身份cookie,C#后台执行js
目录 框架信息:MainWindow.xamlMainWindow.xaml.cs爬取逻辑模拟登录拦截请求Cookie获取 CookieVisitorHandle 框架信息: CefSharp.OffScreen.NETCore 119.1.20 MainWindow.xaml <Window x:Class"Wpf_CHZC_Img_Identy_ApiDataGet.MainWindow&qu…...
【代码随想录刷题】Day18 二叉树05
文章目录 1.【513】找树左下角的值1.1题目描述1.2 解题思路1.2.1 迭代法思路1.2.2 递归法思路 1.3 java代码实现1.3.1 迭代法java代码实现1.3.2 递归法java代码实现 2. 【112】路径总和2.1题目描述2.2 解题思路2.3 java代码实现 3.【106】从中序与后序遍历序列构造二叉树3.1题目…...
2023.11.25更新关于mac开发APP(flutter)的笔记与整理(实机开发一)
我自己写的笔记很杂,下面的笔记是我在chatgpt4的帮助下完成的,希望可以帮到正在踩坑mac开发APP(flutter)的小伙伴 目标:通过MAC电脑使用flutter框架开发一款适用于苹果手机的一个APP应用 本博客的阅读顺序是…...
万宾科技可燃气体监测仪的功能有哪些?
随着城市人口的持续增长和智慧城市不断发展,燃气作为一种重要的能源供应方式,已经广泛地应用于居民生活和工业生产的各个领域。然而燃气泄漏和安全事故的风险也随之增加,对城市的安全和社会的稳定构成了潜在的威胁。我国燃气管道安全事故的频…...
Binlog vs. Redo Log:数据库日志的较劲【高级】
🎏:你只管努力,剩下的交给时间 🏠 :小破站 Binlog vs. Redo Log:数据库日志的较劲【高级】 前言第一:事务的生命周期事务的生命周期Binlog和Redo Log记录事务的一致性和持久性Binlog的记录过程R…...
GPT-SoVITS快速上手实测:仅需1段录音,打造你的个人语音助手
GPT-SoVITS快速上手实测:仅需1段录音,打造你的个人语音助手 1. 引言:声音克隆技术的新突破 你是否想过,只需要录制一段1分钟的语音,就能让AI完美模仿你的声音?GPT-SoVITS让这个想法变成了现实。这个开源项…...
CentOS 7.9 SNAT/DNAT 详解与 VMware 17 实验全流程【20260412】002篇
文章目录 🖥️ VMware 17.0 Pro模拟SNAT/DNAT完整实验指南 📋 实验环境总体规划 网络拓扑设计 IP地址规划表 VMware网络配置步骤 步骤1:创建自定义虚拟网络 步骤2:创建三台CentOS 7.9虚拟机 🔧 详细配置步骤 1. 系统基础配置 1.1 配置主机名和网络 1.2 配置各虚拟机网络…...
FreeRTOS下网卡驱动‘零拷贝’改造初探:解决GD32F470 Ping 17包就超时的性能瓶颈
FreeRTOS下GD32F470网卡驱动零拷贝优化实战:突破Ping 17包超时瓶颈 当GD32F470平台运行FreeRTOSlwIP协议栈时,开发者常会遇到一个诡异现象:连续Ping测试中,每17个数据包就会出现一次超时。这种周期性性能瓶颈往往暴露了传统网卡驱…...
基于 Qt6 + CUDA 并行加速的工业图像加解密上位机系统
ChaCha20/Logistic与CUDA笔记 https://wcnnnflgpz4t.feishu.cn/wiki/D1DqwMH5miJMkykTwPqcasIsndg 源码仓库 https://gitee.com/junhong_code/image-encry-cuda.git...
IntelliPro 企业级产研协作平台:前端智能生产模块设计与落地
摘要 当前企业级前端研发面临复杂度高、迭代快、跨团队协作成本高的痛点,传统开发模式难以适配高效产研需求。本文围绕 IntelliPro 平台前端智能生产模块,拆解其定位、分层架构、智能代理体系与落地保障,输出企业前端智能化研发的实践方案。 …...
我试了四种去除 Gemini 水印的方法,整理成一篇实用对比撕
认识Pass层级结构 Pass范围从上到下一共分为5个层级: 模块层级:单个.ll或.bc文件 调用图层级:函数调用的关系。 函数层级:单个函数。 基本块层级:单个代码块。例如C语言中{}括起来的最小代码。 指令层级:单…...
考研复习Day 9 | 计网:运输层(下)
一:TCP可靠传输的实现 1.1 以字节为单位的滑动窗口 核心概念:滑动窗口是以字节为单位的,每个字节都有序号。 发送窗口的结构: 区域说明发送窗口后沿之前已发送且已收到确认发送窗口内允许发送的序号发送窗口前沿之后不允许发送 …...
League Akari:英雄联盟客户端智能助手完全指南
League Akari:英雄联盟客户端智能助手完全指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一款基于英雄联盟官方…...
【2026年携程暑期实习- 4月12日-第四题- 数字分裂求和】(题目+思路+JavaC++Python解析+在线测试)
题目内容 给定一个初始值为 nnn 的数字。 每一秒,当前所有的数字都会同时执行分裂操作: 记分裂的数字为 xxx,它会分裂成两个数字:⌊x/2⌋+1⌊x/2⌋+1...
PixelMentor:一个开源网站 · 调用AI视觉能力分析图片 · 提供影视后期修改意见托
1. 前言 本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image,docker 版本为 20.10.7。 2. 构建 yum 离线源 2.1. 挂载 ISO 文件 mount Kylin-Server-V10-GFB-Release-030-ARM64.iso /media 2.2. 添加离线 repo 文件 在/etc/yum.repos.d/下创建kylin-local…...




