好書一起讀(154):緩存與人生
友情提示:對技術不感興趣的朋友別看到開頭被嚇跑,請往下看!
關於緩存,《大型網站技術架構》有著很精闢的論述,2.1.5節:
「緩存是改善軟體性能的第一手段。」
「使用緩存有兩個前提條件,一是數據訪問熱點不均衡,某些數據會被更頻繁的訪問,這些數據應該放在緩存中;二是數據在某個時間段內有效,不會很快過期,否則緩存的數據就會因已經失效而產生臟讀,影響結果的正確性。」
「網站應用中,緩存除了可以加快數據訪問速度,還可以減輕後端應用和數據存儲的負載壓力,(後略)。」
4.3.1節又近乎重複地說了這三句話:
「網站性能優化第一定律:優先考慮使用緩存優化性能。」
「緩存主要用來存放那些讀寫比很高、很少變化的數據。」
「一方面緩存訪問速度快,可以減少數據訪問的時間,另一方面如果緩存的數據是經過計算處理得到的,那麼被緩存的數據無需重複計算即可直接使用,因此緩存還起到減少計算時間的作用。」
意思非常清楚了,概括一下:
1.緩存是性能優化第一利器
2.作用於總被讀,卻很少變的數據
3.好處是減少客戶端等待時間,降低服務端運算壓力
拿著這三條內功心法往具體業務上套就行了。
關於技術上的緩存就說到這,多說是蛇足。
我下面要說的是人生中的緩存,我相信任何一種架構思想都可以用於人生,因為軟體解決的問題與人解決的問題一樣,軟體的行為與人的行為——將世界從一個狀態導向另一個狀態——也完全一致,那軟體的方法論,當然與人的方法論有殊途同歸之處。編程思想常來自於人類既有問題上的思想,編程思想也能反過來為人的生活方式提供思路。
重新看一下緩存的三大心法,把它們翻譯成與生活相關的語言,就是——
1.緩存是提高效率第一利器
2.作用於總被使用,卻很少變的知識
3.好處是降低人的搜索時間,減少知識來源被閱讀的次數
緩存思想對生活最重要的指導,就是做你建設自己的知識存儲體系時的原則。
你把什麼知識記在大腦里?
把什麼知識記在筆記中?
把什麼知識留在書本上和網路間?
人的大腦負荷能力有限,只有合理地為之指定策略,才能發揮最大的性能。
先說明一下,計算機硬體組成上,存儲器是分層的,越高層的存儲器訪問起來越快,但空間越小,越低層的存儲器訪問起來越慢,但空間越大。
人的大腦就相當於寄存器,空間最小,獲取速度最快;筆記相當於內存,空間大些,獲取速度慢些;書架相當於磁碟,空間更大,獲取速度更慢;互聯網還是互聯網,空間幾乎無限大,獲取速度因人而異,(關於這可以參考搜索技巧那篇)。
緩存呢,說的就是把下一層存儲器里的知識,提到上一層存儲器里,以更快讀取,因為上一層存儲器空間有限,要揀精華的往上移。
再看一遍心法第二條,「作用於總被使用,卻很少變的知識」,這意思就很明顯了,大概指兩塊:
1.極為普適極為常用的知識,如作為自然人的怎樣走路怎樣吃飯,作為社會人的世界觀(形而上學,認識論,倫理學)和方法論(如怎樣閱讀、怎樣搜索、怎樣利用時間)
2.當前工作正在用的關鍵知識,即你所在行業的世界觀(知識體系)和方法論(做事經驗)
第一塊可以對應於計算機運行時內存分配中分配給操作系統的部分,第二塊可以對應於運行中內存分配給進程的部分。
這似乎是說了些廢話,因為每個人天生都是這樣做的,沒錯,因為不這樣做的人,早就被自然選擇淘汰了,請記住一個結論:
你的一切本能,都是無數祖先用血的經驗換來的最佳實踐,已刻在了你的基因密碼里。
好,再反過來說,我們不必記什麼,這樣說就更清晰,把內功心法第二條反過來瞧。
1.不總被使用的
2.總變的
對程序員來說,前者就是技術末節,後者就是技術熱點,(別行業的朋友請自行換成相應概念),想想你有沒有被這些東西牽著鼻子走的經歷?
你又有沒有被這些東西牽著鼻子走的精力?
你侃侃而談,夸夸其談,志得意滿,神采飛揚,
但你除了在應酬和社交中談資更多了些,這些所學所記對你真的有進步嗎?
八百年不用一次的技術末節,記它作甚呢?
半年就變一次的技術熱點,追它作甚呢?
《道德經》講:為學日益,為道日損。
我很尊敬的一位老師說:人生,要會做減法。
在現在這篇的語境里,就是:要知道哪些東西,不該提到更高層的記憶容器里。
所以,我的宣言叫「只讀最好的書」,當然,實際上難免讀到一些爛書,爛書我就不記筆記。
我公眾號里的系列文章叫「好書一起讀」,爛書,我不為它們寫文章。
公眾號是我的內存,爛書我讓它們停在磁碟。
為什麼是公眾號呢?這涉及到緩存的另一個原則,就是除了在存儲體系中越高越快外,還有就是距離用戶越近,訪問起來越快。
距離現代人越近的存儲設備,就是智能手機。
智能手機里最總是開著的應用,現在是微信。
從微信到文章,無非點擊幾次,熟悉了我公眾號的菜單和目錄,點起來更快。
不必開電子書閱讀,也不必開瀏覽器在搜索欄打字。距離更近,成本更低,而且自己經過「寫作倒逼閱讀」寫出的筆記,自己讀起來最柔順。
這是我目前找到的最方便的記筆記方式——而且,記得筆記還能讓更多人看見,分享知識的同時,也有了被批評指正的可能。
兩年前註冊了公眾號真是讓我慶幸的決定。
所以,我親愛的書友,我建議你也註冊一個公眾號,哪怕只是做自己的博客,通過寫作,來鞏固自己的閱讀。同時建構起自己的知識存儲體系。
我非常願意訂閱和拜讀分享。
推薦閱讀:
※質量管理體系知識彙集
※知識淵博的人是怎樣構建知識體系的?又是怎樣管理腦中的資料庫?
※哲學小白為了讀懂維特根斯坦,需要建立怎樣的知識體系?
※CRM從業者應該具備怎樣的理論知識體系才算完整?
※李叫獸是如何搜集和整理信息的?