Redis中怎么用setbit统计活跃用户

技术Redis中怎么用setbit统计活跃用户这篇文章主要讲解了“Redis中怎么用setbit统计活跃用户”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis中怎么

本文主要讲解“如何使用setbit统计Redis中的活跃用户”。本文的讲解内容简单明了,易学易懂。现在请跟随边肖的思路,学习学习“如何使用setbit统计Redis中的活跃用户”。

一、需求背景

首先来看看需求:网站统计用户登录次数,如下:

网站有1亿用户,有的经常登录,有的不经常登录。

如何记录用户的登录信息?

如何查询活跃用户:比如一周登录三次。

00-1010我们使用传统的关系数据库(如Oracle)来存储这样的数据。

对于任何关系数据库来说,每周生成7亿条数据都是非常难以维护的,并且会对其性能产生很大影响。

二、使用传统的关系型数据库

Redis支持基于String类型值的二进制位的设置操作。通过将用户id对应于值上的一位,并将该位设置为对应于活动用户,可以用一个值记录所有活动用户的信息。如下图所示,下图中位图的9位设置为1,表示这9位对应的用户是今天的活跃用户。第15位代表uid为15的用户,第1位代表uid为0的用户。(如果你的uid不是从1开始,比如从100000开始,其实也可以用uid减去初始值来表示位数,比如100000个用户对应位图的第一位数字)。

Redis中怎么用setbit统计活跃用户

具体代码如下:

Redis.setbit(key,user_id,1)的记录复杂度为O(1),在Redis中非常快。

以下代码是在Redis CLI中执行的演示演示。例如,当用户ID为100的用户在周一登录网站时,我们通过setbit操作将周一对应的100位的值设置为1。

17 . 0 . 0 . 1:6379 setbit monkey 1001(整数)0,我们每天使用不同的键来分隔每天的活动用户状态记录。并且通过一些AND-OR运算,可以计算出N天活跃用户和连接的N天活跃用户的统计量。

如下图所示,第一行显示周一的活跃用户,第二行显示周二的活跃用户,以此类推。例如,我们可以通过合并n天内活跃用户的记录,得到n天内活跃用户的列表。

感谢阅读。以上就是“如何使用setbit统计Redis中的活跃用户”的内容。看完这篇文章,相信你对如何在Redis中使用setbit统计活跃用户有了更深的理解。具体用法需要实践验证。在这里,边肖将为大家推送更多相关知识点的文章。欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/67445.html

(0)

相关推荐

  • 形容难忘的成语,有什么成语形容难以忘怀

    技术形容难忘的成语,有什么成语形容难以忘怀1形容难忘的成语、刻骨铭心2、念念不忘 3、没齿难忘
    4、难以忘怀
    5、耿耿于怀
    6、魂牵梦萦
    7、朝思暮想
    8、 难以忘怀
    9、刻骨铭心
    10、记忆犹新
    1、刻骨铭心

    生活 2021年10月26日
  • C++声明局部变量类型时为什么概念比auto更好

    技术C++声明局部变量类型时为什么概念比auto更好本篇内容主要讲解“C++声明局部变量类型时为什么概念比auto更好”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++声明

    攻略 2021年11月24日
  • 为什么threadlocal要使用弱引用(threadlocal的原理和使用场景)

    技术引用和Threadlocal的示例分析引用和Threadlocal的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 背景某一天在某一个群里面的

    攻略 2021年12月17日
  • jquery中的$代表什么意思

    技术jquery中的$代表什么意思这篇文章主要介绍“jquery中的$代表什么意思”,在日常操作中,相信很多人在jquery中的$代表什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年12月2日
  • Spark Connector Reader 原理与实践是怎样的

    技术Spark Connector Reader 原理与实践是怎样的本篇文章为大家展示了Spark Connector Reader 原理与实践是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介

    攻略 2021年12月3日
  • INNODB引擎的4大特性

    技术INNODB引擎的4大特性 INNODB引擎的4大特性1、插入缓存
    2、二次写
    3、自适应哈希
    4、预读
    一、插入缓存(insert buffer)
    插入缓冲(insert Buffer/Chang

    礼包 2021年11月26日