Redis高级数据结构实战(一)BitMap用户连续签到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis高级数据结构实战(一)BitMap用户连续签到相关的知识,希望对你有一定的参考价值。

参考技术A 占用内存更小,性能更高。这里偏实战,原理的东西就不细讲了。

记录一个用户某天登录,只需要指令

bitmap 是一个bit数组,数据结构大概是长这样子的:

数字6是这个数组的偏移量(index,下标从0开始),表示第7天签到了

查看累计登录天数:

因为 bitfield 指令无符号获取的偏移量最大是63,所以一个key只存一个月份的数据,这样key的结构可以是这样:

user:sign:userId:date

bitfield 指令其实就是获取这个key的数组下标的一个list

u 表示无符号 ,14 表示今天是14号,0 表示索引,即从第一天开始

里面每一步的注释都写的非常明白,关键点在最后一个方法的移位操作

待续...

《ClickHouse企业级应用:入门进阶与实战》8 基于ClickHouse Bitmap实现DMP用户画像标签圈人

《ClickHouse企业级应用:入门、进阶与实战》

  1. 全面了解ClickHouse
  2. 快速入门
  3. ClickHouse基础数据类型
  4. ClickHouse高级数据类型
  5. ClickHouse函数
  6. ClickHouse SQL基础
  7. 基于Spring Boot开发ClickHouse SQL查询工具
  8. 基于ClickHouse Bitmap实现DMP用户画像标签圈人

根据Digital Journal的一份报告,DMP 市场预计将以 15% 的复合年增长率增长,到 2023

以上是关于Redis高级数据结构实战(一)BitMap用户连续签到的主要内容,如果未能解决你的问题,请参考以下文章

Redis实战之附近商户用户签到UV 统计

Redis实战之附近商户用户签到UV 统计

《ClickHouse企业级应用:入门进阶与实战》8 基于ClickHouse Bitmap实现DMP用户画像标签圈人

《ClickHouse企业级应用:入门进阶与实战》8 基于ClickHouse Bitmap实现DMP用户画像标签圈人

Redis 亿级用户信息存储实践:bitmap 位图存储

利用redis setbit和bitmap统计用户数