当前位置:网站首页>利用Redis的bitMap完成用户签到功能
利用Redis的bitMap完成用户签到功能
2022-08-11 05:20:00 【qi_ming88】
引用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进行修改数据,如要是要测试前一天签到,修改偏移量就行。
边栏推荐
- 分布式日志存储架构代码实践
- 第6章 分支语句和逻辑运算符
- 代币标准--ERC721协议源码解析
- [C language from elementary to advanced] Part 2 Initial C language (2)
- C语言——文件操作(2)文件的读写操作
- let 块级作用域
- [C language advanced] The first in-depth analysis of the storage of integer data in memory (1)
- CSDN 社区内容创作规范
- Randomly generate uuid using rand function
- 分布式日志存储架构设计方案
猜你喜欢
海内外媒体宣发,关键词优化
数组:一个存取数字的魔盒
error: The following untracked working tree files would be overwritten by merge: .hbuilderx/launch
06-引入Express创建web服务器、接口封装并使用postman测试,静态资源托管
05-Nodejs中的模块加载机制
bootstarp作业一:制作分页器
Markdown编辑器
分布式日志存储架构代码实践
C语言——文件操作函数 fseek、ftell、rewind详解
Flask framework to study: the debug and configuration items
随机推荐
利用轮播图制作简单游戏页面
博客帮助文档
海外媒体发稿,要考虑到不同的民族文化特点
c pointer learning (2)
Dos命令
ENS是机会吗?
函数怎么用
第8章 函数探幽-2
QtDataVisualization 数据3D可视化
Win下安装不同版本的MinGW(g++/gcc)以及对应clion编辑器的配置
Markdown 常用到的一些编写技巧
Chapter 5 Loops and Relational Expressions
全国青少年信息学奥林匹克联赛大纲
第6章 分支语句和逻辑运算符
写博客周志
Chapter 13 Class Inheritance-1
leetcode21.合并两个有序链表
第13章 类的继承-1
ClionIDE compiles by specifying the compiler
C语言结构体——位段概念的讲解