极简极速-Bitset (bitmap)实现考勤打卡场景

1. redis命令行操作bitmap

在这里插入图片描述

2. RedisTemplate操作bitmap

bitmap的常见业务场景主要有日活统计(类似的月考勤)、点赞、BloomFilter等,以用户mj考勤统计为例,一个用户一个月的打卡记录用不了32bit(4byte)存储空间,性能也很好:

@Resource
private StringRedisTemplate template;

template.opsForValue().setBit("mj",1,true);
template.opsForValue().setBit("mj",2,true);
template.opsForValue().setBit("mj",30,true);       
template.opsForValue().setBit("mj",31,true);
// 查看mj本月第三天是否打卡
Boolean ifArrive= template.opsForValue().getBit("mj", 3);
System.out.println(ifArrive);// false
// 统计本月打卡数
Long count = template.execute((RedisCallback<Long>) connection -> connection.bitCount("mj".getBytes(StandardCharsets.UTF_8), 1, 31));
System.out.println(count); // 4

3. Java中的Bitset

直接使用Java的bitset实现考勤打卡,这里数据集存储DB需要转化,如Bitset#toLongArray(),再转为json进行存储。

 public static void main(String[] args) {
        // Key一般为userId
        Map<String,BitSet> map=new HashMap(1024);
        BitSet set = map.getOrDefault("mj",new BitSet(32));
        set.set(1,true);
        set.set(2,true);
        set.set(30,true);
        set.set(31,true);
        System.out.println(set.get(3));  //  本月第三天打卡:false
        System.out.println(set.cardinality());// 本地打卡数:4
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
亿华B/S架构考勤管理软件产品白皮书 Introduction to Yihua e-attendance ™ 国内最专业的考勤管理软件! 因为专业,才有品质,才能提供客户最想要、最需要的服务! 考勤服务热线:4000-655-001 86-010-58465561 62912301 1. 先进的软件架构体系:B/S架构,适应局域网、互联网考勤,与考勤机无缝连接,自动读取刷卡(指纹)数据、自动下发姓名卡号(指纹)信息到考勤机。使考勤卡(指纹)登记、考勤数据获取无需人工参与。 2. 数据采集自动化:自动从考勤机下载考勤签到、签退数据;卡、指纹一次采集,可通过软件下发到多台考勤机,可以在软件里设置员工登记到哪些考勤机,软件自动下发登记,在考勤软件里可实现允许或拒绝某员工在某个考勤机上刷卡。 3. 请假申请/审批、加班申请/审批无纸化:员工在线提交请假/加班申请,审批人在线审批。 4. 请假规则设置灵活:可以随意设置各种请假类别,以及请假规则,比如有年假不能休事假等; 5. 年假计算自动化:可以设置年假计算规则,系统自动计算当前员工可休天数,请年假自动扣减; 6. 智能提醒:提醒员工未休年假天数、未签到,提醒审批人请假审批等; 7. 不限用户数: 操作管理人员数量没有限制;不限制站点数; 8. 考勤分析统计自动化:系统可以定时自动分析统计出勤、请假、旷工、迟到/早退等; 9. 维护工作量小:B/S架构的最大好处是,客户端不必安装及维护,只要有IE浏览器即可,一次性投入,免除了C/S模式软件繁琐的客户端维护升级工作; 10. 可以随时随地查看员工出勤情况:对于分支机构众多,分布在异地的企业,各分支机构可以通过互联网用考勤软件; 11. 多级请假审批流程:系统可以自由设置请假多级审批流程,系统自动选择审批流程。 12. 工作分摊化: 由于采用了B/S架构的设计,充分应用了互联网的资源优势,可以随时随地履行考勤管理的职责,使考勤管理的各个环节,信息交流及时、畅通,查询统计便捷、准确,考勤管理工作变得简单而轻松。 13. 数据实时汇总:所有考勤数据实时上传数据库,管理者可随时查看考勤数据,周期获取数据时间自定义。 14. 验厂数据自动处理:通过软件后台,点击处理按钮,可以生成验厂用的合理的考勤数据,以用于验厂。 15. 数据独立核算:各部门的考勤数据、考勤异常处理、请假、加班等都可以独立核算统计; 16. 强大权限控制:权限细化至各栏目、各人员及各功能操作,可设置多重角色,每个用户只能看到自己权限范围内的信息; 17. 可扩展性: 功能字段、自定义、审批流程、打印模板等都可以自定义设置,充分满足不同业务流程、不同使用习惯等个性需要,以及对OA等系统数据接口衔接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值