Redis bitmap可以使用到的场景

本文介绍了Redis中的Bitmap如何应用于日活跃用户统计和点赞去重场景。通过setbit设置用户标识,getbit检查用户状态,bitcount统计活跃用户数量,展示Bitmap在大数据场景下存储开销小、统计速度快的优势。此外,还展示了如何利用Bitmap统计用户登录天数和随机周期内的活跃用户,确保数据去重。
摘要由CSDN通过智能技术生成

日活统计应用场景中bitmap使用
点赞(登录)去重应用场景中bitmap使用
统计用户登录天数,统计周期随机(随便7天)
活跃用户统计,随机天数统计,要去重

命令

bitmap主要就三个操作命令, setbit , getbit 以及 bitcount

setbit

主要是指将某个索引,设置为1(设置0表示抹去标记),基本语法如下

# 请注意这个index必须是数字,后面的value必须是0/1
setbit key index 0/1

getbit

如果返回1,表示存在否则不存在

getbit key index

bitcount

统计和

bitcount key

日活统计应用场景中bitmap使用

实现思路:
1.setbit 2021_01_01 uid1001 1
2.setbit 2021_01_01 uid1002 1
3.setbit 2021_01_02 uid1001 1
4.bitcount 2021_01_01

每天定一个key,将登录后的用户设置为1,重复登录后也是1,那么需要统计某一天的日活,
只需要bitcount 某一天就可以知道总数。
数据大很大的时候,bitmap的优势有两点:1.存储开销小, 2.统计总数快

点赞(登录)去重应用场景中bitmap使用

1.setbit code001 uid1001 1
2.setbit code001 uid1002 1
3.bitcount code001

对一篇文章点赞,同一个用户多次,也只会记录一次。

统计用户登录天数,统计周期随机(随便7天)

1.setbit zhangsan 1 1
2.setbit zhangsan 6 1
3.setbit zhangsan 364 1
4.bitcount zhangsan 1 7
5.bitcount zhangsan -1 -7

可以设置一年365个个点,哪一天登录了,就设置成1,那么统计的时候,可以算出7天在365个点中具体位置,根据索引来bitcount,因为有正反索引,所以用负值可以倒着bitcount

活跃用户统计,随机天数统计,要去重

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值