Redis位图bitmap操作

Redis位图bitmap操作

目录

定义

强势点

SETBIT 命令

GETBIT 命令

BITCOUNT 命令

应用场景案例

定义

1、位图不是真正的数据类型,它是定义在字符串类型中
2、一个字符串类型的值最多能存储512M字节的内容,位上限:2^32

# 1MB = 1024KB # 1KB = 1024Byte(字节) # 1Byte = 8bit(位) 强势点

可以实时的进行统计,极其节省空间。官方在模拟1亿2千8百万用户的模拟环境下,在一台MacBookPro上,典型的统计如“日用户数”的时间消耗小于50ms, 占用16MB内存

SETBIT 命令

说明:设置某位置上的二进制值

语法:SETBIT key offset value

参数:offset - 偏移量 从0开始

​ value - 0或者1

示例:

# 默认扩展位以0填充 127.0.0.1:6379> SET mykey ab OK 127.0.0.1:6379> GET mykey "ab" 127.0.0.1:6379> SETBIT mykey 0 1 (integer) 0 127.0.0.1:6379> GET mykey "\xe1b" 127.0.0.1:6379> GETBIT 命令

说明:获取某一位上的值

语法:GETBIT key offset

示例:

127.0.0.1:6379> GETBIT mykey 3 (integer) 0 127.0.0.1:6379> GETBIT mykey 0 (integer) 1 127.0.0.1:6379> BITCOUNT 命令

说明:统计键所对应的值中有多少个 1

语法:BITCOUNT key start end

参数:start/end 代表的是 字节索引

示例:

127.0.0.1:6379> SET mykey1 ab OK 127.0.0.1:6379[4]> BITCOUNT mykey (integer) 6 127.0.0.1:6379[4]> BITCOUNT mykey 0 0 (integer) 3 应用场景案例 # 网站用户的上线次数统计(寻找活跃用户) 用户名为key,上线的天作为offset,上线设置为1 # 示例 用户名为 user1:login 的用户,今年第1天上线,第30天上线 SETBIT user1:login 0 1 SETBIT user1:login 29 1 BITCOUNT user1:login

到此这篇关于Redis位图bitmap操作的文章就介绍到这了,更多相关Redis位图操作内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    redis密码设置|如何设置redis密码

    redis密码设置|如何设置redis密码,,如何设置redis密码初始化Redis密码: 在配置文件中有个参数: requirepass 这个就是配置redis访问密码的

    Redis集群批量操作

    Redis集群批量操作,节点,集群,Redis在3.0版正式引入了集群这个特性,扩展变得非常简单。然而当你开心的升级到3.0后,却发现有些很好用的功能

    redis sentinel模式命令集

    redis sentinel模式命令集,状态,频道, ping 订阅模式:ping 服务器回复:*2$4pong$0ping xxx 服务器回复:*2$4pong$3xxx其他模式ping 服

    C# 基于StackExchange.Redis.dll利用Redis实现分布式Session

    C# 基于StackExchange.Redis.dll利用Redis实现分布式Session,令牌,客户端,最近在研发一款O2O产品,考虑到分布式架构的需要,以前那一套.NET的

    REDIS|11 redis做分页

    REDIS|11 redis做分页,分页,每页,之前的数据都加载到了本地java的Map,分页如下@RequestMapping("/articles")String articles(Model mode

    softwaredistribution是什么文件夹

    softwaredistribution是什么文件夹,升级,存放,更新日志,文件,补丁下载,删除,softwaredistribution在Windows目录下,主要是用来存放WINDOWS UPDAT

    centos下redis无法连接

    centos下redis无法连接,防火墙,也会,主要是两方面的原因(1)redis.conf中bind的ip,默认是127.0.0.1,只能本地连接(体现为Could not connect to

    redis bitmap实现点赞的思路

    redis bitmap实现点赞的思路,照片,用户,bitmap简介:bitmap时一连串的二进制数字(0,1),每位所在的位置为偏移(offset),在bitmap上可以执行and、or