day05业务题

5-1 你们项目中签到为什么要使用bitmap
    核心就是为了节省资源
    因为使用bitmap,它是以二进制0和1来表示数据的,我们用0表示未签到,1表示已签到
    这样就可以把一个人在某一个月份的签到放在一条记录里面,大大节省空间
5-2 你们项目中积分功能是如何实现的
    在我们的项目中积分功能主要涉及学习微服务,其中签到、学习、写问答、写笔记、写评价都可以获得积分
    为了解耦合,我们使用了MQ,生产者一方发送消息,消费者则监听消息
    监听到消息后:首先判断下当前这种获取积分的方式有没有积分上限,没有的话直接保存积分记录。
    有积分上限的话:先从库中查询一下,当前这种方式今天已经获取多少积分了,如果超出了每日上限就结束。
    如果没有超出:则判断一下,今天当前这种方式获取的积分 + 本次的积分是否大于每日上限,如果大于则只保存欠额部分
5-3 Redis三大新面试点: 跳表、pipeline、bitmap
    跳表是一种数据结构,用来实现有序集合zset数据类型。它具有类似平衡树的性能,通过使用多层次的指针来快速定位元素,从而实现快速的查找、插入和删除操作。
    跳表的优点包括简单、高效的查找、插入和删除操作,以及相对容易实现。
    跳表的缺点是占用更多的内存空间,并且在高并发写入的情况下可能会导致性能下降。
    跳表是一种高效的数据结构,适用于实现有序集合
    pipeline
    在Redis中,Pipeline是一种用于批量执行多个命令的机制。通过使用Pipeline,客户端可以将多个命令打包发送给服务器,然后一次性获取所有命令的执行结果,从而减少了网络延迟和提高了性能。
    总之,Pipeline可以提高命令执行的效率,特别适用于需要批量处理数据的场景。
    bitmap
    bitmap是以二进制(bit位)的形式进行存储,每个位代表一个布尔值(0或1)。
    这种存储方式使得bitmap在处理大量数据统计和判断时,可以只占用非常小的一部分内存,并且计算速度非常高效。使用场景有记录用户的行为、统计用户的活跃情况等。
    bitmap是一种高效的数据结构,可以帮助你处理大规模的布尔型数据
 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值