点赞排行榜也可以用MySQL,不过你要顾及到性能问题、写入延迟、数据一致性等问题,其实在点赞方面还是比较建议考虑使用缓存; 如果使用Redis,确实会占用较多的内存。如果关注内存的使用情况,可以考虑以下两种方案来减少内存占用: 1.用Redis的Bitmaps数据结构来保存点赞详情。然后从Bitmaps的数据结构角度向面试官阐述如何解决内存占用,这里简单说一下,Bitmaps是以位的形式存储数据,可以有效地压缩存储空间。 2.使用Redis的HyperLogLog数据结构来统计点赞数量。 如果点赞数量非常庞大,可能会导致内存占用过大。优化的方案可以从下面几点来考虑: 1.使用redis分片集群,实现分布式存储,将点赞信息分散到多个Redis节点上,减轻单个节点的负载压力。 2.设置合理的过期时间或定期清理过期的点赞数据(因为其实对于一个点赞详细来说,我们应该进行取舍,其实前端页面只需要展示部分数据,要么保存最新的一批点赞详情,要么保存一批最旧的--也就是最先点赞的人),避免占用过多的内存空间。 这是大致的一些思路吧,正如一楼老哥说的,技术不是说一个好一个不好,技术是需要选择的,通常选择一个技术会解决另外一个技术的问题但也带来了新的问题,我认为面试官抛出这么一个问题其实要的是我们的思路,在面试中如果有一个比较好的思路并分开深入阐述它的原理,我认为对于面试来说也是一个不错的加分点。 个人瞥见,如有问题,也请指出,多谢。
17 3

相关推荐

码农烧烤启动:我还还有一个朋友😂 是个学院本,毕业是比较早 以前很容易找到工作 他厉害的地方在:即使找到工作了依然保持每个月一次或几次面试 然后复盘总结抓住好机会就往上跳了 今年不知道跳哪去了 总而言之,成了程序员就得持续面试和学习 尤其是现在这个🐢环境下 可能前脚入后脚给你裁了 不一定要频率非常高 就像一场马拉松 你人生还这么长嘞…… 所以不用内耗 春招不行就社招嘛,没有经济来源就干干收银员,烧烤啥的,有人看不起你别管啊,这是你自己的剧本,你说谁杀青就杀青了🙂 没人的时候不也可以学学😂 偶尔来次面试 不爽就辞职换一家 你的人生是为自己而活
点赞 评论 收藏
分享
牛客网
牛客企业服务