鍍金池/ 教程/ 大數(shù)據(jù)/ 源碼日志
Redis 數(shù)據(jù)淘汰機(jī)制
積分排行榜
小剖 Memcache
Redis 數(shù)據(jù)結(jié)構(gòu) intset
分布式鎖
從哪里開始讀起,怎么讀
Redis 數(shù)據(jù)結(jié)構(gòu) dict
不在浮沙筑高臺
Redis 集群(上)
Redis 監(jiān)視器
源碼閱讀工具
Redis 日志和斷言
內(nèi)存數(shù)據(jù)管理
Redis 數(shù)據(jù)結(jié)構(gòu)綜述
源碼日志
Web 服務(wù)器存儲 session
消息中間件
Redis 與 Lua 腳本
什么樣的源代碼適合閱讀
Redis 數(shù)據(jù)結(jié)構(gòu) sds
Memcached slab 分配策略
訂閱發(fā)布機(jī)制
Redis 是如何提供服務(wù)的
Redis 事務(wù)機(jī)制
Redis 集群(下)
主從復(fù)制
Redis 應(yīng)用
RDB 持久化策略
Redis 數(shù)據(jù)遷移
Redis 事件驅(qū)動(dòng)詳解
初探 Redis
Redis 與 Memcache
AOF 持久化策略
Redis 數(shù)據(jù)結(jié)構(gòu) redisOb
作者簡介
Redis 數(shù)據(jù)結(jié)構(gòu) ziplist
Redis 數(shù)據(jù)結(jié)構(gòu) skiplist
Redis 哨兵機(jī)制

源碼日志

在大學(xué)實(shí)習(xí)的時(shí)候,用到了 Python 里頭的一個(gè)小模塊 ulrilb2,是一個(gè)簡單的爬蟲,這個(gè)模塊出錯(cuò)的時(shí)候,會拋出各種異常,突然想知道為什么會拋出這些異常,而且 Python 自帶的模塊都是開源的,能拿到一手的源碼,于是把它讀完了。這也是第一次知道最簡單的爬蟲是怎么樣的。

接著,實(shí)習(xí)項(xiàng)目中用到了 Python 的 Web 框架 Django,非常強(qiáng)大。Django book 看完后,就能寫出一個(gè)簡單的網(wǎng)頁。Django 是典型的 MVC 框架(?),那時(shí)對 Web 的知識很少,是知道有 HTTP 協(xié)議這些東西,但 Django 里每個(gè)模塊之間是如何協(xié)同工作的呢,MVC 又是怎么體現(xiàn)的?這些對當(dāng)時(shí)的我來說都非常的感興趣。當(dāng) Django 收到一個(gè) HTTP 請求,到瀏覽器展示一個(gè)頁面,Django 里頭到底發(fā)生了什么。帶著這些簡單的問題,開始翻閱 Django 的源代碼。之后的 Libevent, Memcache 和 Redis 都一樣。

閱讀代碼是很好的鍛煉耐心和毅力的機(jī)會??磩e人代碼的過程,即針對一個(gè)疑問,收集線索,有點(diǎn)連成線的過程,所以中間肯定有一段時(shí)間非常難熬與枯燥;而當(dāng)讀完所有的代碼,所有的線索都連成一條線,就能體會柳暗花明了。

一些優(yōu)秀的開源項(xiàng)目里有些很值得新手學(xué)習(xí)的地方,譬如框架,設(shè)計(jì)模式等。但并不是說閱讀了大量的代碼就能寫出很牛的代碼,寫代碼需要對當(dāng)前需求的把握和清晰的邏輯思維,這是我們在實(shí)踐中可以慢慢培養(yǎng)的。千萬不要讀得太多,而寫得太少。