Redis实现统计在线人数、每日签到功能

Redis大约 644 字
  • 统计用户每日签到情况
  • 统计在线人数(比HyperLogLog更精确)

SETBIT key offset value

可用版本: >= 2.2.0 时间复杂度: O(1)

  • key所储存的字符串值,设置或清除指定偏移量上的位(bit)
  • 位的设置或清除取决于value参数,可以是0也可以是1
  • key不存在时,自动生成一个新的字符串值
  • 字符串会进行伸展(grown)以确保它可以将value保存在指定的偏移量上。当字符串值进行伸展时,空白位置以0填充
  • offset参数必须大于或等于0,小于2^32(bit 映射被限制在 512 MB 之内)
setbit online_hc 1000 1
# 输出:(integer) 0

getbit online_hc 1000
# 输出:(integer) 1

BITCOUNT key [start] [end]

可用版本: >= 2.6.0 时间复杂度: O(N)

计算给定字符串中,被设置为 1 的比特位的数量

  • 一般情况下,给定的整个字符串都会被进行计数,通过指定额外的startend参数,可以让计数只在特定的位上进行
  • startend参数可以使用负数值: 比如 -1 表示最后一个字节, -2 表示倒数第二个字节,以此类推
  • 不存在的key被当成是空字符串来处理,因此对一个不存在的key进行BITCOUNT操作,结果为0。
bitcount online_hc
# 输出:(integer) 1
阅读 1178 · 发布于 2019-04-08

————        END        ————

扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看换一批