黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java緩存是什么


  許多朋友學習Java聽說緩存這個名詞有點懵,不知道怎么回事,Java的緩存是什么東西?該怎么理解?今天小編就這個問題帶大家來了解一番,什么是Java的緩存。

 

  一、什么是緩存

 

  1、Cache是高速緩沖存儲器一種特殊的存儲器子系統(tǒng),其中復(fù)制了頻繁使用的數(shù)據(jù)以利于快速訪問

 

  2、凡是位于速度相差較大的兩種硬件/軟件之間的,用于協(xié)調(diào)兩者數(shù)據(jù)傳輸速度差異的結(jié)構(gòu),均可稱之為Cache

 

  二、緩存的分類

 

  1、基于web應(yīng)用的系統(tǒng)架構(gòu)圖

 

  2、在系統(tǒng)架構(gòu)的不同層級之間,為了加快訪問速度,都可以存在緩存

 

  操作系統(tǒng)磁盤緩存->減少磁盤機械操作

 

  數(shù)據(jù)庫緩存->減少文件系統(tǒng)I/O

 

  應(yīng)用程序緩存->減少對數(shù)據(jù)庫的查詢

 

  Web服務(wù)器緩存->減少應(yīng)用服務(wù)器請求

 

  客戶端瀏覽器緩存->減少對網(wǎng)站的訪問

 

  三、操作系統(tǒng)緩存

 

  1、文件系統(tǒng)提供的DiskCache:操作系統(tǒng)會把經(jīng)常訪問到的文件內(nèi)容放入到內(nèi)存當中,由文件系統(tǒng)來管理

 

  2、當應(yīng)用程序通過文件系統(tǒng)訪問磁盤文件的時候,操作系統(tǒng)從DiskCache當中讀取文件內(nèi)容,加速了文件讀取速度

 

  3、DiskCache由操作系統(tǒng)來自動管理,一般不用人工干預(yù),但應(yīng)當保證物理內(nèi)存充足,以便于操作系統(tǒng)可以使用盡量多的內(nèi)存充當DiskCache,加速文件讀取速度

 

  4、特殊的應(yīng)用程序?qū)ξ募到y(tǒng)DiskCache有很高的要求,會繞開文件系統(tǒng)DiskCache,直接訪問磁盤分區(qū),自己實現(xiàn)Disk

 

  5、Cache策略

 

  Oracle的rawdevice(裸設(shè)備)–直接拋棄文件系統(tǒng)

 

  MySQL的InnoDB:innodb_flush_method=O_DIRECT

 

  四、數(shù)據(jù)庫緩存

 

  1、重要性

 

  數(shù)據(jù)庫通常是企業(yè)應(yīng)用系統(tǒng)很核心的部分

 

  數(shù)據(jù)庫保存的數(shù)據(jù)量通常非常龐大

 

  數(shù)據(jù)庫查詢操作通常很頻繁,有時還很復(fù)雜

 

  以上原因造成數(shù)據(jù)庫查詢會引起非常頻繁的磁盤I/O讀取操作,迫使CPU掛起等待,數(shù)據(jù)庫性能極度低下

 

  2、緩存策略

 

  a、QueryCache

 

  以SQL作為key值緩存查詢結(jié)果集

 

  一旦查詢涉及的表記錄被修改,緩存就會被自動刪除

 

  設(shè)置合適的QueryCache會很大程度提高數(shù)據(jù)庫性能

 

  QueryCache并非越大越好,過大的QqueryCache會浪費內(nèi)存。

 

  MySQL:query_cache_size=128M

 

  b、DataBuffer

 

  databuffer是數(shù)據(jù)庫數(shù)據(jù)在內(nèi)存中的容器

 

  databuffer的命中率直接決定了數(shù)據(jù)庫的性能

 

  databuffer越大越好,多多益善

 

  MySQL的InnoDBbuffer:innodb_buffer_pool_size=2G

 

  MySQL建議bufferpool開大到服務(wù)器物理內(nèi)存60-80%

 

  五、應(yīng)用程序緩存

 

  1、對象緩存

 

  由O/RMapping框架例如Hibernate提供,透明性訪問,細顆粒度緩存數(shù)據(jù)庫查詢結(jié)果,無需業(yè)務(wù)代碼顯式編程,是很省事的緩存策略當軟件結(jié)構(gòu)按照O/RMapping框架的要求進行針對性設(shè)計,使用對象緩存將會很大程度降低Web系統(tǒng)對于數(shù)據(jù)庫的訪問請求良好的設(shè)計數(shù)據(jù)庫結(jié)構(gòu)和利用對象緩存,能夠提供很高的性能,對象緩存適合OLTP(聯(lián)機事務(wù)處理)應(yīng)用。

 

  2、查詢緩存

 

  對數(shù)據(jù)庫查詢結(jié)果集進行緩存,類似數(shù)據(jù)庫的QueryCache適用于一些耗時,但是時效性要求比較低的場景。查詢緩存和對象緩存適用的場景、不一樣,是互為補充的當查詢結(jié)果集涉及的表記錄被修改以后,需要注意清理緩存

 

  3、頁面緩存

 

  a、作用

 

  針對頁面的緩存技術(shù)不但可以減輕數(shù)據(jù)庫服務(wù)器壓力,還可以減輕應(yīng)用服務(wù)器壓力好的頁面緩存可以很大程度提高頁面渲染速度頁面緩存的難點在于如何清理過期的緩存

 

  b、分類

 

  I、動態(tài)頁面靜態(tài)化

 

  利用模板技術(shù)將訪問過一次的動態(tài)頁面生成靜態(tài)html,同時修改頁面鏈接,下一次請求直接訪問靜態(tài)鏈接頁面動態(tài)頁面靜態(tài)化技術(shù)的廣泛應(yīng)用于互聯(lián)網(wǎng)CMS/新聞類Web應(yīng)用,但也有BBS應(yīng)用使用該技術(shù),例如Discuz!無法進行權(quán)限驗證,無法顯示個性化信息可以使用AJAX請求彌補動態(tài)頁面靜態(tài)化的某些缺點

 

  II、Servlet緩存

 

  針對URL訪問返回的頁面結(jié)果進行緩存,適用于粗粒度的頁面緩存,例如新聞發(fā)布可以進行權(quán)限的檢查OScache提供了簡單的Servlet緩存(通過web.xml中的配置)也可以自己編程實現(xiàn)Servlet緩存

 

  III、頁面內(nèi)部緩存

 

  針對動態(tài)頁面的局部片斷內(nèi)容進行緩存,適用于一些個性化但不經(jīng)常更新的頁面(例如博客)OSCache提供了簡單的頁面緩存可以自行擴展JSPTag實現(xiàn)頁面局部緩存

 

  六、web服務(wù)器端緩存

 

  基于代理服務(wù)器模式的Web服務(wù)器端緩存,如squid/nginxWeb服務(wù)器緩存技術(shù)被用來實現(xiàn)CDN(內(nèi)容分發(fā)網(wǎng)絡(luò)contentdeliverynetwork)被國內(nèi)主流門戶網(wǎng)站大量采用不需要編程,但僅限于新聞發(fā)布類網(wǎng)站,頁面實時性要求不高

 

  七、基于ajax的瀏覽器緩存

 

  使用AJAX調(diào)用的時候,將數(shù)據(jù)庫在瀏覽器端緩存只要不離開當前頁面,不刷新當前頁面,就可以直接讀取緩存數(shù)據(jù)只適用于使用AJAX技術(shù)的頁面

 

  以上就是緩存的講解,希望對大家有所幫助,如果您還有什么不理解不明白的地方敬請灌入動力節(jié)點官方網(wǎng)站或微信平臺,我們?yōu)槟峁└喔玫淖稍儎討B(tài)。

 

  

 

上一篇:Java培訓包就業(yè),你別做夢了
下一篇:Java里類的生命周期

開班信息

主站蜘蛛池模板: 国产成人亚洲精品91专区高清 | 国产精品xxxav免费视频 | 人人干视频在线观看 | 久久青青成人亚洲精品 | 综合在线视频精品专区 | 本道综合精品 | 精品伊人久久久 | 波多野结衣中文一区二区免费 | 欧美色综合高清视频在线 | 婷婷人人爽人人爽人人片 | 国产精品高清一区二区三区 | 日日a.v拍夜夜添久久免费 | 欧美一区二区在线视频 | 亚洲国产aaa毛片无费看 | 精品国产免费人成在线观看 | 日本一区二区三区不卡在线看 | 亚洲欧美日韩综合网导航 | 亚洲人成网i8禁止 | 欧美国产日本高清不卡免费 | 一级做a毛片在线看 | 亚洲国产精品日韩高清秒播 | 亚洲欧美日韩一区超高清 | 黄色网点| 国产99在线a视频 | 国产影音先锋 | 精品欧美一区视频在线观看 | 亚洲欧美日韩一区超高清 | 国产麻豆福利a v在线播放 | 很很在线视频观看 | 黄色一级a毛片 | 制服丝袜中文字幕第一页 | 国产日韩精品一区在线观看播放 | 永久免费看毛片 | 亚洲成a人片77777在线播放 | 91久久天天躁狠狠躁夜夜 | 中文字幕成人免费高清在线视频 | 99中文字幕在线 | 黄色操视频 | 精品欧美一区二区在线观看 | 日韩在线专区 | 国产一级在线观看 |