云带来的变化
亚马逊云、国内的阿里云,这些快速建设的云以及带来的变化就是云技术的蓬勃发展。云本质上就是社会分工,专业分工为云的提供者和云的使用者,作为云的提供者有提供者的相关技术,大多数人作为云的使用者,那么要明白在云环境下分布式技术。例如Pass环境下docker、k8s、kv数据库等,而redis就是kv数据库的一种,代码量很少,却性能强大。作为技术人员,不仅要眼界广阔,但还是要踏踏实实的阅读一些开源代码。
为何选择读redis
实际上高速缓存还有memcache等优秀的代码,而且memcache、redis也被用go、java等重写,而且可以看到用go写的memcache比c写的更加精简,这都是语言上的优势。实际上,不管怎么样,只要写的好,用c写的代码效率会最高,因为c的本质上是直接操作机器操作系统的模型;而用其它语言写的会更加精简,但是会损失效率。任何语言都是有美的,如果要创立一门语言,c肯定是绕不开的。选择redis作为重温c代码的突破口,是一个很好的选择。
redis源码
按照这个顺序去阅读代码。
REDIS
数据结构
sds
adlist
dict
t_zset
hyperlog
内存
intset
ziplist
数据类型
object
t_string
t_list
t_hash
t_set
t_zset
数据库
db
notify
rdb
aof
客户端与服务器
ae
networking
redis
分布式
replication
sentinel
cluster