马士兵java框架_马士兵java架构师
馬士兵java架構(gòu)師
開始討論緩存之前,讓我們先來討論討論另外一個問題:理論和實踐.從ahuaxuan接觸的程序員來看,有的程序員偏實踐,有的程序員偏理論,但是這都是不好的行為,理論和實踐同樣重要,我們在做很多核心的算法的時候,沒有理論根本無從下手,而在我們多年的實踐中,不總結(jié)理論就不能加深自己的理解.所以理論和實踐同等重要.
緩存是當(dāng)今各種軟件或者硬件系統(tǒng)中不可缺少的技術(shù)之一,所以對每個程序員來說都顯得異常重要,對ahuaxuan來說亦是如此.如果說用dfa實現(xiàn)文字過濾是從理論到實踐,那么本文便是從實踐中總結(jié)出得理論.
在討論緩存功能之前,我們首先來了解一下緩存這個東西本身.ahuaxuan根據(jù)自己的經(jīng)驗把緩存問題細(xì)分為4類小問題.
1緩存為什么要存在?
2緩存可以存在于什么地方?
3緩存有哪些屬性?
4緩存介質(zhì)?
搞清楚這4個問題,那么我們就可以隨意的通過應(yīng)用的場景來判斷使用何種緩存了.
下面ahuaxuan和大家一一分析這4個問題.
1. 緩存為什么要存在?
一般情況下,一個網(wǎng)站,或者一個應(yīng)用,它的一般形式是,瀏覽器請求應(yīng)用服務(wù)器,應(yīng)用服務(wù)器做一堆計算后再請求數(shù)據(jù)庫,數(shù)據(jù)庫收到請求后再作一堆計算后把數(shù)據(jù)返回給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器再作一堆計算后把數(shù)據(jù)返回給瀏覽器.這個是一個標(biāo)準(zhǔn)流程.但是隨著互連網(wǎng)的普及,上網(wǎng)的人越來越多,網(wǎng)上的信息量也越來越多,在這兩個越來越多的情況下,我們的應(yīng)用需要支撐的并發(fā)量就越來越多.然后我們的應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器所做的計算也越來越多,但是往往我們的應(yīng)用服務(wù)器資源是有限的,數(shù)據(jù)庫每秒中接受請求的次數(shù)也是有限的(誰叫俺們的硬盤轉(zhuǎn)速有限呢).如果利用有限的資源來提供盡可能大的吞吐量呢,一個辦法:減少計算量,縮短請求流程(減少網(wǎng)絡(luò)io或者硬盤io),這時候緩存就可以大展手腳了.緩存的基本原理就是打破上圖中所描繪的標(biāo)準(zhǔn)流程,在這個標(biāo)準(zhǔn)流程中,任何一個環(huán)節(jié)都可以被切斷.請求可以從緩存里取到數(shù)據(jù)直接返回.這樣不但節(jié)省了時間,提高了響應(yīng)速度,而且也節(jié)省了硬件資源.可以讓我們有限的硬件資源來服務(wù)更多的用戶.
本文禁止轉(zhuǎn)載或摘編
--
--
--
分享到:
投訴或建議
評論
總結(jié)
以上是生活随笔為你收集整理的马士兵java框架_马士兵java架构师的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java开发】 Mybatis-Plu
- 下一篇: 5G打通云边端,自动驾驶、云游戏等应用加