利用Redis的bitMap完成用户签到功能

引用https://blog.csdn.net/CrazyLai1996/article/details/85220910这个博客

Bitmaps并不属于Redis中数据结构的一种,它的命令基于String操作,是set、get等一系列字符串操作的一种扩展,与其不同的是,它提供的是位级别的操作,从这个角度看,我们也可以把它当成是一种位数组、位向量结构。当我们需要存取一些boolean类型的信息时,Bitmap是一个非常不错的选择,在节省内存的同时也拥有很好的存取速度(getbit/setbit操作时间复杂度为O(1))。

首先先介绍一下btiMap的一些命令:

1.对一个key设值:key是该键值,offset是偏移量,一般签到的话offset可以设置为距离活动开始的天数,比如活动开始1号,今天是24号,那么可以为23,表示在23位插入,value只有0和1,这条命令的返回值是上一个偏移量保存的值,如果存在就是1(true)。

SETBIT key offset value

2.获取一个key是否存在,存在返回1否则0

GETBIT key offset

注意:一般对于活动签到的话,key建议采用用户名id,不用用时间,一个用户在整个活动就只有一个key。

具体怎么开发,可以参考https://blog.csdn.net/CrazyLai1996/article/details/85220910这个博客。

我这里补充一下在测试的时候如何修改数据:

直接利用SETBIT key offset value进行修改数据,如要是要测试前一天签到,修改偏移量就行。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小明爱吃火锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值