day05-小结

本文讨论了项目中使用bitmap存储签到数据以节省空间和提高效率,积分功能通过微服务架构设计并利用RabbitMQ进行消息传递,同时介绍了Redis的跳表、pipeline和bitmap在性能优化中的应用。
摘要由CSDN通过智能技术生成

5-1 你们项目中签到为什么要使用bitmap

        我们在项目中使用bitmap的原因有以下这些:

        首先bitmap是Redis中的String类型里的一种类型,存储数据是以二进制(bit位)为单位进行存储的。在处理大量数据统计和判断时,只占用非常小的一部分内存,且计算速度非常高效。

        其次bitmap节省空间,我们会发现一条签到记录就会占用22个字节,每天的签到记录有很多,这样会过于浪费空间,bitmap所占空间较小。因此我们的羡慕中使用bitmap来记录签到数据。

5-2 你们项目中积分功能是如何实现的

        我们项目中的积分功能主要涉及学习微服务与积分微服务        

        我们项目是在单独一个微服务模块实现积分功能,用户签到、学习、互动问答、提交学习笔记等行为都可以产生积分(业务方面)。

        用户操作涉及到积分变化功能时,响应的模块会投递消息到消息队列,而在微服务模块中会有监听器监听消息队列,消费消息,操作对应的数据库表。

        以上就是我们积分功能的RabbitMQ实现流程。

5-3 Redis三大新面试点: 跳表、pipeline、bitmap

        跳表:跳表是一种用于实现有序集合的数据结构,它通过添加多级索引来加速有序集合的查询操作。跳表的基本思想是在原始链表的基础上,添加额外的索引层。每个索引层都是一个有序的链表,每个节点包含只想下一层节点的指针。通过这些索引层,可以在教高级别的链表中跳过一些节点,从而快速地定位目标节点,从而提高查询效率。

        Pipeline:Pipeline是一种数据处理模式,他将多个操作按照顺串联起来,形成一个管道,每一个操作都可以独立执行,不需要等待前一个操作执行完毕。这种模式可以有小的提高数据处理的效率,尤其是在需要进行大量计算或者IO操作的场景下。

        bitmap:bitmap是一种数据结构,它使用位(bit)来表示数据。每个位只有两种状态:0或1.通过将一组数据映射到一个bitmap中,可以高效的表示和查询数据。bitmap可以用于实现各种功能,例如签到。积分等。通过bitmap,可以显著的减少存储空间和查询时间,提高系统的性能和可靠性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值