day05

本文讨论了项目中如何通过bitmap节省空间存储签到信息,积分功能的实现策略,包括积分解耦、MQ监听和Redis的跳表、pipeline技术提升性能,以及防止刷分的机制。
摘要由CSDN通过智能技术生成

5-1 你们项目中签到为什么要使用bitmap
bitmap是一个以bit为单位的数组,每个单元只能存储二进制数0或1
所以,我们在项目中使用bitmap来存储签到信息
这样避免了使用签到表的方式,节省了空间

5-2 你们项目中积分功能是如何实现的
在项目中,用户可以通过签到、看视频、发评论、做笔记,并且积分可以形成排行榜
由于获取积分的途径很多,所以我们将积分业务与原有业务进行解耦合,并采用mq的方式异步监听,
具体来讲就是学习微服务和签到服务会向mq中投递消息,积分微服务监听mq,并保存积分记录
不同的积分方式有不同的监听器
在签到功能中,连续签到有奖励积分,当积分统计完毕后我们将积分记录存入redis
最后,为了防止刷分,每种积分方式都设置了积分上限

5-3 Redis三大新面试点: 跳表、pipeline、bitmap
跳表:
跳表(Skip List)在Redis中被用作有序集合(Sorted Set)的底层实现数据结构。有序集合是一种集合数据类型,
其中的元素是唯一的,并且每个元素都关联一个分值(score),这些元素根据分值的大小按照一定顺序进行排序。
使用场景有:有序集合的实现,范围的查询等

pipeline:
pipeline是一种用于批量执行命令的技术。它允许客户端将多个命令打包发送给服务器,
然后一次性接收服务器的响应,从而减少了网络通信的开销,提高了性能和吞吐量。
使用场景有:减少网络延迟,批量处理命令等

bitmap:
bitmap是一种特殊的数据结构,用于存储位图信息,每个位代表一个状态,
适用于需要对大量状态进行快速记录和统计的场景。
使用场景有:计数器,状态标记等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值