Skip to content
DAILY QUOTE

“ ”

Redis将BitMap的所有操作都封装到字符串String中,因此spring-data-Redis使用opsForValue,操作BitMap。

  • 实现用户每日签到
java
/**
 * 完成用户每日签到。
 *
 * 作用:
 * 1.获取当前登录用户;
 * 2.获取日期;
 * 3.拼接key;
 * 4.获取今天是本月的第几天;
 * 5.写入RedisSETBITkey;
 *
 * @return处理结果
 */
@Override
public Result sign(){
    //1.获取当前登录用户
    Long userId = UserHolder.getUser().getId();
    //2.获取日期
    LocalDateTime now=LocalDateTime.now();
    //3.拼接key
    String keySuffix = now.format(DateTimeFormatter.ofPattern(":yyyyMM"));
    String key=USER_SIGN_KEY+userId+keySuffix;
    //4.获取今天是本月的第几天
    int dayOfMonth = now.getDayOfMonth();
    //5.写入Redis SETBIT key
    stringRedisTemplate.opsForValue().setBit(key,dayOfMonth-1,true);
    return Result.ok();
}
  • 测试功能: