为啥用bitmap 使用bitmap占用空间小,如这个例子,我们一个用户仅仅占用一个bit,我们可以用它来做一些签到的统计,或者用户的黑名单之类的,当然前提是我们用这一个字节存储的数据(是/否)可以满足我们业务的需求 @Test public void test4() { String key = "day01"; String key2 = "day02"; //为19336号员工设置打卡为true Boolean aBoolean = redisTemplate.opsForValue().setBit(key, 19336, true); //获取19336号打卡记录,默认返回为false Boolean b = redisTemplate.opsForValue().getBit(key, 19336); System.out.println("b = " + b); //为19338号员工设置打卡为true redisTemplate.opsForValue().setBit(key, 19338,true); //为19340号员工设置打卡为true redisTemplate.opsForValue().setBit(key, 19340,true); Boolean b1 = redisTemplate.opsForValue().getBit(key, 19337); System.out.println("b1 = " + b1); Long execute = (Long) redisTemplate.execute((RedisCallback<Long>) conn -> conn.bitCount(key.getBytes())); System.out.println("day01打卡人数execute = " + execute); Long execute2 = (Long) redisTemplate.execute((RedisCallback<Long>) conn -> conn.bitCount(key2.getBytes())); System.out.println("day01打卡人数execute2 = " + execute2); }
小狼-redisTemplate使用bitMap实现签到统计
最新推荐文章于 2023-12-12 17:08:19 发布