1. 程式人生 > >Java高階程式設計——微服務為什麼要設計快取?

Java高階程式設計——微服務為什麼要設計快取?

在高併發場景下,需要通過快取來減少資料庫的壓力,使得大量的訪問進來能夠命中快取,只有少量的需要到資料庫層。由於快取基於記憶體,可支援的併發量遠遠大於基於硬碟的資料庫。所以對於高併發設計,快取的設計是必不可少的一環 。

那麼我們為什麼要設計快取呢?

為什麼要使用快取呢?源於人類的一個夢想,就是多快好省的建設社會主義。

多快好省?很多客戶都這麼要求,但是作為具體做技術的你,當然知道,好就不能快,多就沒法省。

可是沒辦法,客戶都這樣要求:

這個能不能便宜一點,你咋這麼貴呀,你看人家都很便宜的。(您好,這種打折的房間比較靠裡,是不能面向大海的)

你們的效能怎麼這麼差啊,用你這個系統跑的這麼慢,你看人家廣告中說速度能達到多少多少。(您好,你如果買一個頂配的,我們也是有這種效能的)

你們服務不行啊,你就不能彬彬有禮,穿著整齊,送點水果瓜子啥的?(您好,我們蘭州拉麵館沒有這項服務,可以去對面的俏江南看一下)

這麼貴的菜,一盤就這麼一點點,都吃不飽,就不能上一大盤麼。(您好,對面的蘭州拉麵10塊錢一大碗)

怎麼辦呢?勞動人民還是很有智慧的,就是聚焦核心需求,讓最最核心的部分享用好和快,而非核心的部門就多和省就可以了。

你可以大部分時間住在公司旁邊的出租屋裡面,但是出去度假的一個星期,選一個面朝大海,春暖花開的五星級酒店。

你可以大部分時間都擠地鐵,擠公交,跋涉2個小時從北五環到南五環,但是有急事的時候,你可以打車,想旅遊的時候,可以租車。

你可以大部分時間都吃普通的餐館,而朋友來了,就去高階飯店裡面搓一頓。

在計算機世界也是這樣樣子的,如圖所示。

越是快的裝置,儲存量越小,越貴,而越是慢的裝置,儲存量越大,越便宜。

對於一家電商來講,我們既希望儲存越來越多的資料,因為資料將來就是資產,就是財富,只有有了資料,我們才知道使用者需要什麼,同時又希望當我想訪問這些資料的時候,能夠快速的得到,雙十一拼的就是速度和使用者體驗,要讓使用者有流暢的感覺。

所以我們要講大量的資料都儲存下來,放在便宜的儲存裡面,同時將經常訪問的,放在貴的,小的儲存裡面,當然貴的快的往往比較資源有限,因而不能長時間被某些資料長期霸佔,所以要大家輪著用,所以叫快取,也就是暫時存著。

如果你現在在JAVA這條路上掙扎,也想在IT行業拿高薪,可以參加我們的訓練營課程,選擇最適合自己的課程學習,技術大牛親授,7個月後,進入名企拿高薪。我們的課程內容有:Java工程化、高效能及分散式、高效能、深入淺出。高架構。效能調優、Spring,MyBatis,Netty原始碼分析和大資料等多個知識點。如果你想拿高薪的,想學習的,想就業前景好的,想跟別人競爭能取得優勢的,想進阿里面試但擔心面試不過的,你都可以來,q群號為:779792048

注:加群要求

1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加。

2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加。

3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加。

4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。

5.阿里Java高階大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!