首页 > 数据库 >redis学习九:数据类型命令及落地运用 (bitmap)

redis学习九:数据类型命令及落地运用 (bitmap)

时间:2023-06-16 17:01:33浏览次数:54  
标签:签到 数据类型 redis bitmap key 对应

redis位图bitmap:由0和1状态表现得二进制位的bit数组

需求:用户是否登录过Y,N,比如京东每日签到送豆;

电影,广告是否被点击播放过

钉钉打卡上下班

大厂签到必备

是什么:用于状态记录,Y,N不用去mysql读写。

1.bitmap的偏移量从0开始,

setbit key 0/1 设置对应下标值图中就是 1000010,对应ascall值就是B;

getbit key m获取m下标的值

 2.strlen key 看这个key占了几个字节,1byte=8bit

3.bitcount key 看这个key里有几个1,后面可以增加m,n就是从m到n一共有多少个1

 4.统计连续签到,先造一个hash表,每个数字对应人的id,然后去通过bitmap记录某日哪些人来了(对应hash表),

再用bitop and key key1 key2 获取两个位图并集中的1

 

标签:签到,数据类型,redis,bitmap,key,对应
From: https://www.cnblogs.com/ssbxfsrm/p/17485912.html

相关文章

  • Python数据类型-列表与元组
    #题目1:删除如下列表中的"矮穷丑",写出2种或以上方法:#info=["yuze",18,"男","矮穷丑",["高","富","帅"],True,None,"狼的眼睛是啥样的"]info=["yuze",18,"男","矮穷丑",["......
  • Go语言之 go-redis 基本使用
    Go语言之go-redis基本使用Redis介绍Redis:https://redis.io/Redis中文网:https://www.redis.net.cn/REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的key-value存储系统。Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持......
  • JavaScript 变量和数据类型
    JavaScript变量和数据类型变量在JavaScript中,变量用于存储和操作数据。声明一个变量需要使用关键字var、let或const。1.使用var声明变量varname='John';varage=28;var关键字可以被同一作用域内的其他代码访问到,而不受块级作用域的限制。var声明的变量可......
  • springboot整合redis
    1、添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>2、配置redis通过spring.redis.xxx来配置redis的信息spring.redis.hos......
  • 面试-redis
    常见数据结构1.string2.hash3.list4.set5.sortedset持久化机制1.rdb快照在redis.conf种配置save9001#在900秒(15分钟)之后,如果⾄少有1个key发⽣变化,Redis就会⾃动触发BGSAVE命令创建快照。save30010#在300秒(5分钟)之后,如果⾄少有10个key发⽣变化,Redis就会⾃动......
  • Redis哨兵模式的配置
    1.环境准备master节点1个slave节点2个sentinel【哨兵】节点3个redis版本5.0.3操作系统:Centos72.主从节点配置创建redis-conf目录,此目录用于存放主从节点的配置文件复制redis.conf,然后创建三个配置文件:redis-6379.conf,redis-6380.conf,redis-6381.conf编辑主节点的配置......
  • Redis 缓存穿透、缓存击穿、缓存雪崩
    文章目录一、缓存穿透1.概念2.解决方案二、缓存击穿1.概念2.解决方案三、缓存雪崩1.概念2.解决方案一、缓存穿透1.概念key对应的数据在redis中并不存在,每次针对此key的请求从缓存获取不到,请求转发到数据库,访问量大了可能压垮数据库。比如用......
  • Redis(四)
    5.多级缓存传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库存在的问题请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈Redis缓存失效时,会对数据库产生冲击多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务性......
  • springboot 中使用 redis 处理接口的幂等性
    什么是接口幂等性?数学中:在一次元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同;在二次元运算为幂等时,自己重复运算的结果等于它自己的元素。计算机学中:幂等指多次操作产生的影响只会跟一次执行的结果相同,通俗的说:某个行为重复的执行,最终获取的结果是相同的,不会因......
  • 2023-06-15:说一说Redis的Key和Value的数据结构组织?
    2023-06-15:说一说Redis的Key和Value的数据结构组织?答案2023-06-15:全局哈希表Redis使用哈希表作为保存键值对的数据结构,通过哈希函数将Key映射为哈希表中的一个索引位置,使得Key-Value可以在O(1)时间复杂度内被快速访问。在Redis中,哈希表是由多个哈希桶(也称为槽位/数组元素)组成......