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 相关文章推荐
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
Redis可视化客户端小结
Jun 10 Redis
Redis缓存-序列化对象存储乱码问题的解决
Jun 21 Redis
Redis入门教程详解
Aug 30 Redis
Redis三种集群模式详解
Oct 05 Redis
Redis分布式锁的7种实现
Apr 01 Redis
Redis中key的过期删除策略和内存淘汰机制
Apr 12 Redis
Redis 报错 error:NOAUTH Authentication required
May 15 Redis
Redis keys命令的具体使用
Jun 05 Redis
关于Redis的主从复制及哨兵问题
Jun 16 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
Redis Lua脚本实现ip限流示例
Jul 15 Redis
浅谈Redis的事件驱动模型
May 30 #Redis
Redis 异步机制
Redis 报错 error:NOAUTH Authentication required
解决 redis 无法远程连接
Redis 限流器
May 15 #Redis
Redis高并发缓存架构性能优化
详解Redis的三种常用的缓存读写策略步骤
You might like
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
Yii中表单用法实例详解
2016/01/05 PHP
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
js实现放大镜特效
2017/05/18 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
webpack3之loader全解析
2017/10/26 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
js闭包学习心得总结
2018/04/17 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
js代码实现轮播图
2020/05/04 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
python检查指定文件是否存在的方法
2015/07/06 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
详解python中list的使用
2019/03/15 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
python实现简单飞行棋
2020/02/06 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
python os.rename实例用法详解
2020/12/06 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
大二学生职业生涯规划书
2014/02/05 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
荆州古城导游词
2015/02/06 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
Golang的继承模拟实例
2021/06/30 Golang