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 相关文章推荐
Django使用redis配置缓存的方法
Jun 01 Redis
redis requires ruby version2.2.2的解决方案
Jul 15 Redis
Redis源码阅读:Redis字符串SDS详解
Jul 15 Redis
详解redis在微服务领域的贡献
Oct 16 Redis
Redis调用Lua脚本及使用场景快速掌握
Mar 16 Redis
sentinel支持的redis高可用集群配置详解
Apr 01 Redis
redis复制有可能碰到的问题汇总
Apr 03 Redis
解决 redis 无法远程连接
May 15 Redis
浅谈Redis缓冲区机制
Jun 05 Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 Redis
基于redis+lua进行限流的方法
Jul 23 Redis
Redis配置外网可访问(redis远程连接不上)的方法
Dec 24 Redis
浅谈Redis的事件驱动模型
May 30 #Redis
Redis 异步机制
Redis 报错 error:NOAUTH Authentication required
解决 redis 无法远程连接
Redis 限流器
May 15 #Redis
Redis高并发缓存架构性能优化
详解Redis的三种常用的缓存读写策略步骤
You might like
用Flash图形化数据(一)
2006/10/09 PHP
PHP 上传文件的方法(类)
2009/07/30 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python中的字符串查找操作方法总结
2016/06/27 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python global全局变量函数详解
2018/09/18 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
python3的pip路径在哪
2020/06/23 Python
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
汽车销售顾问求职自荐信
2014/01/01 职场文书
产品推广策划方案
2014/05/10 职场文书
建设工地安全标语
2014/06/07 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
六年级语文教学反思
2016/03/03 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
redis实现的四种常见限流策略
2021/06/18 Redis
关于MySQL中的 like操作符详情
2021/11/17 MySQL