redis 实现连续签到
2021/10/21 19:11:36
本文主要是介绍redis 实现连续签到,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.案例分析
互联网应用中都会有签到功能,吸引更多的用户,保持产品活跃度
如何判断用户连续签到7天
签到 1 天送 10 积分,连续签到 2 天送 20 积分,3 天送 30 积分,4 天以上均送 50 积分
如何显示用户某个月的连续签到次数和总签到次数
可以使用 redis 利用 BitMap 位图来存储签到数据,节省空间
2.操作
GETBIT <key> <offset> <value>
3.案例
- 指定时间内,判断多少人签到连续签到成功
// SETBIT 日期 用户ID value SETBIT 20211015 10 1 SETBIT 20211016 10 1 SETBIT 20211017 10 1 SETBIT 20211018 10 1 SETBIT 20211015 20 1 SETBIT 20211016 20 0 SETBIT 20211017 20 1 SETBIT 20211018 20 1 SETBIT 20211015 30 1 SETBIT 20211016 30 1 SETBIT 20211017 30 1 SETBIT 20211018 30 1 SETBIT 20211015 40 1 SETBIT 20211016 40 0 SETBIT 20211017 40 0 SETBIT 20211018 40 1 BITOP AND destmap 20211015 20211016 20211017 20211018 BITCOUNT destmap 2
-
查询用户是否连续签到
如设置用户10月份签到数据
// SETBIT 用户ID+月份 日期 value SETBIT Sign:2094592473:202110 0 1 SETBIT Sign:2094592473:202110 7 1 SETBIT Sign:2094592473:202110 8 1 SETBIT Sign:2094592473:202110 9 0 SETBIT Sign:2094592473:202110 10 1 SETBIT Sign:2094592473:202110 11 1 SETBIT Sign:2094592473:202110 12 1 SETBIT Sign:2094592473:202110 13 0 SETBIT Sign:2094592473:202110 14 1 SETBIT Sign:2094592473:202110 15 1 SETBIT Sign:2094592473:202110 16 1 SETBIT Sign:2094592473:202110 17 1 SETBIT Sign:2094592473:202110 18 1 SETBIT Sign:2094592473:202110 19 1 SETBIT Sign:2094592473:202110 20 1 // 获取10月31天的签到数据 BITFIELD Sign:2094592473:202110 get u31 0 7 1) (integer) 14547968 // 转换成二进制 110111011111110000000000 // 判断是否有连续7天的1
- 查询用户 10月 签到总次数
BITCOUNT Sign:2094592473:202110
4.相关推荐
在线redis测试:在线 reids
其他文章:
《为什么我推荐你使用 Redis 实现用户签到系统》
《基于Redis位图实现用户签到功能》
《Redis 实战篇:巧用 Bitmap 实现亿级数据统计》
这篇关于redis 实现连续签到的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识