失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 模拟redis位图操作bitmap 统计日活跃用户数

模拟redis位图操作bitmap 统计日活跃用户数

时间:2022-12-09 12:48:07

相关推荐

模拟redis位图操作bitmap 统计日活跃用户数

模拟redis位图操作bitmap 统计日活跃用户数

假设一年有100天以上登录过,则为活跃用户

import redis#连接redisr =redis.Redis(host='redis数据库服务器IP地址',port=6379,db='数据库号')#模拟4个用户,user:001和user: 002非活跃,user:003和user:004为活跃#设置指定位的值: setbit(key,offset,value)r.setbit('user:001',0,1)r.setbit('user:001',29,1)r.setbit('user:002',199,1)#假设一个每隔两天登录一次,一个每隔三天登录一次for i in range(0,365,2):r.setbit('user:003,i,1)for i in range(0,365,3):r.setbit('user:004',i,1)#将所有用户放到列表中:keys xxx*/keys * 查看键,得到的是列表,里面装的是字节串#use_list = [b'user:001',b'user:002',...]user_list = r.keys('user:*')#最终结果格式:#活跃用户:[('user:003',xxx),('user:004',xxx)]active_users = []inactive_users = []#统计每个用户一年中总访问次数:bitcount key 统计键所对应的值中有多少个1for user in user_list:count = r.bitcount(user)if count >= 100:active_users.append((user.decode(),count))else:inactive_user.append((userdecode(),count))print('活跃用户:',active_users)print('非活跃用户:',inactive_users)

如果觉得《模拟redis位图操作bitmap 统计日活跃用户数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。