Redis特殊数据类型bitmap位图


Posted in Redis onJune 01, 2022

Redis数据类型bitmap位图

bitmap数据结构,是基于二进制位来进行操作记录的,只有0 和 1两个状态。
可以想象成一个数组,里面只有0或者1。

能干嘛呢?

现实中会有这些场景,比如统计用户信息,活跃用户和非活跃用户、登录的、未登录的用户,打卡的、未打卡的,像这种只有2个状态,并且数据量非常大的,就适合使用bitmap。

网上找了一个对比,可以帮助记忆下bitmap的优点。

Redis特殊数据类型bitmap位图

一、setbit

设置或者清空key的value(字符串)在offset处的bit值。

那个位置的bit要么被设置,要么被清空,这个由value(只能是0或者1)来决定。当key不存在的时候,就创建一个新的字符串value。

比如现在我设置一个用户的7天的打卡信息,1是打卡,0是未打卡。

setbit sign 0 1
setbit sign 1 1
setbit sign 3 1
setbit sign 4 0
setbit sign 5 1
setbit sign 6 0
setbit sign 2 1

Redis特殊数据类型bitmap位图

二、getbit

对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

getbit sign 4

Redis特殊数据类型bitmap位图

三、bitcount

统计字符串被设置为1的bit数。

不存在的 key 被当成是空字符串来处理,因此对一个不存在的 key 进行 BITCOUNT 操作,结果为 0 。

bitcount sign

Redis特殊数据类型bitmap位图

以上就是Redis特殊数据类型bitmap位图的详细内容,更多关于Redis数据类型bitmap位图的资料请关注三水点靠木其它相关文章!


Tags in this post...

Redis 相关文章推荐
浅谈redis缓存在项目中的使用
May 20 Redis
浅谈Redis位图(Bitmap)及Redis二进制中的问题
Jul 15 Redis
Redis Cluster 集群搭建你会吗
Aug 04 Redis
redis缓存存储Session原理机制
Nov 20 Redis
分布式架构Redis中有哪些数据结构及底层实现原理
Mar 13 Redis
Redis集群节点通信过程/原理流程分析
Mar 18 Redis
Redis官方可视化工具RedisInsight安装使用教程
Apr 19 Redis
Grafana可视化监控系统结合SpringBoot使用
Apr 19 Redis
浅谈Redis的事件驱动模型
May 30 Redis
Redis入门基础常用操作命令整理
Jun 01 Redis
Redis keys命令的具体使用
Jun 05 Redis
Redis实现分布式锁的五种方法详解
Jun 14 Redis
浅谈Redis的事件驱动模型
May 30 #Redis
Redis 异步机制
Redis 报错 error:NOAUTH Authentication required
解决 redis 无法远程连接
Redis 限流器
May 15 #Redis
Redis高并发缓存架构性能优化
详解Redis的三种常用的缓存读写策略步骤
You might like
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
php查看网页源代码的方法
2015/03/13 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
JS Array对象入门分析
2008/10/30 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
python中的字典详细介绍
2014/09/18 Python
Tensorflow卷积神经网络实例
2018/05/24 Python
pandas 时间格式转换的实现
2019/07/06 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
生产车间主管岗位职责
2013/12/28 职场文书
关于环保的演讲稿
2014/05/10 职场文书
2014年教研工作总结
2014/12/06 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
四风之害观后感
2015/06/09 职场文书
环保建议书作文400字
2015/09/14 职场文书
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL