Fh's Blog

平生不下泪,于此泣无穷。

写在前面的碎碎念 Go的原生map不是并发安全的,多个协程并发读写map被竞态检测到时会直接panic掉整个进程,recover都不能cover住...因此在写代码时,只要关于并发读写map都要谨记并发安全,印象中之前组里有出过这样的bug,凌晨左右发...

发布 0 条评论

背景与QUIC现状 最近因为毕设需要,详细研究了一下Google的QUIC。 我主要看的是Google官方团队的一篇2017年的论文与初版的QUIC规范文档。根绝Google自己的数据,Google有30%的对外流量已经在使用QUIC,因此根据Google的用户量,可以估...

发布 0 条评论

下面要探究的核心问题是dict中为何要用两个哈希表,这两个哈希表给Redis的dict带来了什么好处?我们从dict最开始的创建、插入、迭代器、以及删除等全过程来剖析 (ps: 下面有时候会把dict和字典混说) 我们不妨先看看Redis中哈希用的...

发布 0 条评论

dict结构根本上是为了提供高效的搜索映射,因此红黑树、AVL树、哈希表都可以用来实现字典结构,不过树形结构怎么都不可能达到常数级别的时间复杂度,因此用树形结构来实现dict已经比较少见了,不过C++STL库中map的实现仍然是红黑树,...

发布 0 条评论

intset是Redis源码里一个比较基础的组件,和非常多的部分有耦合,因此也就不单独谈其所关联的部分了。总的来说intset实现了这样一个东西:一个多编码的顺序整型数据存储结构。(以下代码位于intset.c与intset.h) 其基本结构非常简单 ...

发布 0 条评论