Redis 实现统计在线人数、每日签到功能
Redis About 638 words场景
- 统计用户每日签到情况
- 统计在线人数(比
HyperLogLog
更精确)
SETBIT key offset value
可用版本: >= 2.2.0 时间复杂度: O(1)
- 对
key
所储存的字符串值,设置或清除指定偏移量上的位(bit
) - 位的设置或清除取决于
value
参数,可以是0
也可以是1
- 当
key
不存在时,自动生成一个新的字符串值 - 字符串会进行伸展(
grown
)以确保它可以将value
保存在指定的偏移量上。当字符串值进行伸展时,空白位置以0填充 offset
参数必须大于或等于0
,小于2^32
(bit
映射被限制在512MB
之内)
setbit online_hc 1000 1
# 输出:(integer) 0
getbit online_hc 1000
# 输出:(integer) 1
BITCOUNT key [start] [end]
可用版本: >= 2.6.0 时间复杂度: O(N)
计算给定字符串中,被设置为1
的比特位的数量
- 一般情况下,给定的整个字符串都会被进行计数,通过指定额外的
start
或end
参数,可以让计数只在特定的位上进行 start
和end
参数可以使用负数值: 比如-1
表示最后一个字节,-2
表示倒数第二个字节,以此类推- 不存在的
key
被当成是空字符串来处理,因此对一个不存在的key
进行BITCOUNT
操作,结果为0
。
bitcount online_hc
# 输出:(integer) 1
Views: 5,995 · Posted: 2019-04-08
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...