云帶來的變化
亞馬遜云、國內(nèi)的阿里云,這些快速建設(shè)的云以及帶來的變化就是云技術(shù)的蓬勃發(fā)展。云本質(zhì)上就是社會分工,專業(yè)分工為云的提供者和云的使用者,作為云的提供者有提供者的相關(guān)技術(shù),大多數(shù)人作為云的使用者,那么要明白在云環(huán)境下分布式技術(shù)。例如Pass環(huán)境下docker、k8s、kv數(shù)據(jù)庫等,而redis就是kv數(shù)據(jù)庫的一種,代碼量很少,卻性能強(qiáng)大。作為技術(shù)人員,不僅要眼界廣闊,但還是要踏踏實(shí)實(shí)的閱讀一些開源代碼。
為何選擇讀redis
實(shí)際上高速緩存還有memcache等優(yōu)秀的代碼,而且memcache、redis也被用go、java等重寫,而且可以看到用go寫的memcache比c寫的更加精簡,這都是語言上的優(yōu)勢。實(shí)際上,不管怎么樣,只要寫的好,用c寫的代碼效率會最高,因?yàn)閏的本質(zhì)上是直接操作機(jī)器操作系統(tǒng)的模型;而用其它語言寫的會更加精簡,但是會損失效率。任何語言都是有美的,如果要創(chuàng)立一門語言,c肯定是繞不開的。選擇redis作為重溫c代碼的突破口,是一個很好的選擇。
redis源碼
按照這個順序去閱讀代碼。
REDIS
數(shù)據(jù)結(jié)構(gòu)
sds
adlist
dict
t_zset
hyperlog
內(nèi)存
intset
ziplist
數(shù)據(jù)類型
object
t_string
t_list
t_hash
t_set
t_zset
數(shù)據(jù)庫
db
notify
rdb
aof
客戶端與服務(wù)器
ae
networking
redis
分布式
replication
sentinel
cluster