zoukankan      html  css  js  c++  java
  • 10万用户一年365天的登录情况如何用redis存储,并快速检索任意时间窗内的活跃用户

    使用redsi的bitmap数据结构

    setbit getbit 两条命令是对字符串的位操作。每个位只能是0/1,然后用Bitcount命令计算这个key有多少个1

    举个例子,如果今天是网站上线的第 100 天,而用户 peter 在今天阅览过网站,那么执行命令 SETBIT peter 100 1 ;如果明天 peter 也继续阅览网站,那么执行命令 SETBIT peter 101 1 ,以此类推。

    当要计算 peter 总共以来的上线次数时,就使用 BITCOUNT 命令:执行 BITCOUNT peter ,得出的结果就是 peter 上线的总天数

    用BITOP命令来对多天的key 做一个“或”运算,就知道某个时间段内活跃的人数

    bitpos命令:
    语法:bittops key bit [start] [end]
    返回位图中第一个值为bit的二进制位的位置

  • 相关阅读:
    Linux工具-curl
    常用工具-Postman
    HTTP头部信息
    HTTP状态码
    HTTP/HTTP2协议
    HTTP协议
    常用的服务端口
    三次握手,四次挥手和抓包工具
    路由表
    TCP/IP协议详解
  • 原文地址:https://www.cnblogs.com/yeyongjian/p/12398849.html
Copyright © 2011-2022 走看看