摘要:摘要:由于学习了 gRPC, 并且 gRPC 是基于 HTTP2.0 协议的,那我们今天就来学习 HTTP 协议的第二个版本。 简介 简单来说,HTTP/2(超文本传输协议第2版),主要基于 Google 提出的 SPDY 协议。特点是:在不改动 HTTP 语义、方法、状态码、URI 及首部字段的情
阅读全文
摘要:摘要:Go 能很好的在用户空间支持并发模型,这也是 Go 如此火热的原因,那今天我们来学习 Go 的调度机制。 数据结构 G 结构体 G 是 goroutine 的缩写,相当于操作系统中的进程控制块,在这里就是 goroutine 的控制结构,是对 goroutine 的抽象,下面是 G 的结构(只
阅读全文
摘要:摘要:今天我们来学习 Go 语言中 channel , 这是 Go 语言中非常重要的一个特性。 基础知识 创建 在使用 channel 之前需要使用 make 来创建一个 channel, 如果在使用之前没有使用 make, 则会造成死锁(原因在后面死锁部分进行说明) ch := make(chan
阅读全文
摘要:摘要 在学习 Redis 的过程中,发现 Redis 底层是复用了现成的 I/O多路复用模型(evport, epoll, kqueue, select),本篇博客就总结一下 Linux 内核中提供的三种模型。 select fd_set select()函数主要是建立在fd_set类型的基础上的。
阅读全文
摘要:摘要:本篇博客主要讲了 Redis 的事件,包括 文件事件 和 时间事件。 可放大页面后查看,没有文字描述,如果后面有需要补充和注意的地方,会持续更新本片博客... 参考资料: [1]:The Design and Implementation of Redis 黄健宏
阅读全文
摘要:摘要:本篇博客主要讲了 Redis 的持久化,包括 RDB 和 AOF。 可放大页面后查看,没有文字描述,如果后面有需要补充和注意的地方,会持续更新本片博客... 补充内容: // bgsave 的原理 /* * (1) fork: redis 通过创建子进程来进行 bgsave 操作 * (2)
阅读全文
摘要:摘要:这篇博客主要讲了 Redis 的一些补充知识,有:类型检查、命令多态、内存回收、对象共享、对象的空转时长相关的内容,说明同上篇,没有文字描述,可放大页面后观看,后面如果有需要补充和说明的地方,会持续更新... 参考资料: [1]:The Design and Implementation of
阅读全文
摘要:摘要:本篇博客只贴了思维导图,名没有文字描述,可放大页面后观看,后面如果遇到需要补充和说明的,会持续更新... 补充部分: //from https://redis.io/topics/data-types//String: 字符串类型的值最大容量限制 512M//List: 列表的元素最大个数为
阅读全文
摘要:摘要:该篇博客贴了 Redis 中的底层数据结构,没有用文字来描述,可放大页面后查看。后面遇到需要补充和注意的地方,会持续更新... 参考资料: [1]:The Design and Implementation of Redis 黄健宏
阅读全文