10 | 第1~9讲课后思考题答案及常见问题答疑
蒋德钧
该思维导图由 AI 生成,仅供参考
你好,我是蒋德钧。
咱们的课程已经更新 9 讲了,这段时间,我收到了很多留言。很多同学都认真地回答了课后思考题,有些回答甚至可以说是标准答案。另外,还有很多同学针对 Redis 的基本原理和关键机制,提出了非常好的问题,值得好好讨论一下。
今天,我就和你聊一聊课后题答案,并且挑选一些典型问题,集中进行一次讲解,希望可以解决你的困惑。
课后思考题答案
第 1 讲
问题:和跟 Redis 相比,SimpleKV 还缺少什么?
@曾轼麟、@Kaito 同学给出的答案都非常棒。他们从数据结构到功能扩展,从内存效率到事务性,从高可用集群再到高可扩展集群,对 SimpleKV 和 Redis 进行了详细的对比。而且,他们还从运维使用的角度进行了分析。我先分享一下两位同学的答案。
@曾轼麟同学:
数据结构:缺乏广泛的数据结构支持,比如支持范围查询的 SkipList 和 Stream 等数据结构。
高可用:缺乏哨兵或者 master-slave 模式的高可用设计;
横向扩展:缺乏集群和分片功能;
内存安全性:缺乏内存过载时的 key 淘汰算法的支持;
内存利用率:没有充分对数据结构进行优化,提高内存利用率,例如使用压缩性的数据结构;
功能扩展:需要具备后续功能的拓展;
不具备事务性:无法保证多个操作的原子性。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
蒋德钧老师的文章深入探讨了Redis的基本原理和关键机制,为读者提供了宝贵的技术资料。文章详细比较了SimpleKV和Redis,解释了底层数据结构的优势,以及Redis基本IO模型中的潜在性能瓶颈。此外,蒋老师还探讨了AOF重写过程中的阻塞风险和使用RDB做持久化的风险。他还回答了关于主从库复制、主从切换过程中客户端操作等问题。在典型问题讲解部分,蒋老师详细解释了Redis rehash的触发时机和执行机制,以及主线程、子进程和后台线程的联系与区别。这篇文章内容丰富,对于想要快速了解Redis技术特点的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Redis 核心技术与实战》,新⼈⾸单¥68
《Redis 核心技术与实战》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(64)
- 最新
- 精选
- zhou感谢老师的答疑,明白了写时复制的底层原理。之前一直以为主进程有写操作时,fork 出来的子进程会复制一份物理内存数据过来,实际上只会复制一份页表,相对于内存数据,页表数据小很多。
作者回复: 理解的没错!
2020-08-26642 - 袁东昊的电信手机请问下老师:目前使用比较多的都是Redis Cluster模式,RedisCluster模式已经可以自己选主了,为什么还还这么多研究Redis Sentinel。
作者回复: Sentinel提供了分布式系统中选主问题的参考实现,具有一定的普适性,Sentinel的实现类似于Raft协议,所以研究下Sentinel也可以帮助我们理解Raft,Raft在分布式系统中还是很有用的。
2020-11-1519 - yyl欢呼,有些地方自己理解的是正确的😎 晚上回去再核对一遍
作者回复: 温故而知新,认真学习的好同学!
2020-08-262 - 赵茭茭前9讲 我一共学了 3遍 真的是每一次学习都理解不同 学的越来越深 真的是很棒的文章 比网上的博客强太多了 很系统2020-12-055134
- Geek_8b8d3d我觉得基础篇就够我去面试了2021-04-14449
- 烫烫烫关于rehash的触发时机,装载因子>=1和>=5是不是太大了?当装载因子接近1的时候,冲突概率已经很严重了吧。我记得大部分语言(Java/C/C#/Go)的哈希表扩容时机,装载因子都小于1。有老师或哪位同学能帮我解惑吗?2020-11-04713
- 悟空聊架构这个复盘总结得很棒,看完后建议回头再看下前面几篇。2021-05-1212
- 阮华从5:30到现在9:36,一口气把这10课基础篇看完了,受益颇多,这一天学的比我前几年学的都深入。2022-02-2648
- Geek_ee09b9学到这里,有点忘了再看一遍2020-09-127
- 曾轼麟谢谢老师的解答和认可2020-08-296
收起评论