日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Cache 简介

發布時間:2024/6/21 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 Cache 简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是緩存
1、Cache是高速緩沖存儲器 一種特殊的存儲器子系統,其中復制了頻繁使用的數據以利于快速訪問
2、凡是位于速度相差較大的兩種硬件/軟件之間的,用于協調兩者數據傳輸速度差異的結構,均可稱之為 Cache

二、緩存的分類
1、基于web應用的系統架構圖

2、在系統架構的不同層級之間,為了加快訪問速度,都可以存在緩存

操作系統磁盤緩存->減少磁盤機械操作
數據庫緩存->減少文件系統I/O
應用程序緩存->減少對數據庫的查詢
Web服務器緩存->減少應用服務器請求
客戶端瀏覽器緩存->減少對網站的訪問

三、操作系統緩存
1、文件系統提供的Disk Cache:操作系統會把經常訪問到的文件內容放入到內存當中,由文件系統來管理
2、當應用程序通過文件系統訪問磁盤文件的時候,操作系統從Disk Cache當中讀取文件內容,加速了文件讀取速度
3、Disk Cache由操作系統來自動管理,一般不用人工干預,但應當保證物理內存充足,以便于操作系統可以使用盡量多的內存充當Disk Cache,加速文件讀取速度
4、特殊的應用程序對文件系統Disk Cache有很高的要求,會繞開文件系統Disk Cache,直接訪問磁盤分區,自己實現Disk
5、Cache策略

Oracle的raw device(裸設備) – 直接拋棄文件系統
MySQL的InnoDB: innodb_flush_method = O_DIRECT

四、數據庫緩存
1、重要性

數據庫通常是企業應用系統最核心的部分
數據庫保存的數據量通常非常龐大
數據庫查詢操作通常很頻繁,有時還很復雜
以上原因造成數據庫查詢會引起非常頻繁的磁盤I/O讀取操作,迫使CPU掛起等待,數據庫性能極度低下

2、緩存策略
a、Query Cache

以SQL作為key值緩存查詢結果集
一旦查詢涉及的表記錄被修改,緩存就會被自動刪除
設置合適的Query Cache會極大提高數據庫性能
Query Cache并非越大越好,過大的Qquery Cache會浪費內存。
MySQL: query_cache_size= 128M

b、Data Buffer

data buffer是數據庫數據在內存中的容器
data buffer的命中率直接決定了數據庫的性能
data buffer越大越好,多多益善
MySQL的InnoDB buffer:innodb_buffer_pool_size = 2G
MySQL建議buffer pool開大到服務器物理內存60-80%

五、應用程序緩存
1、對象緩存

由O/R Mapping框架例如Hibernate提供,透明性訪問,細顆粒度緩存數據庫查詢結果,無需業務代碼顯式編程,是最省事的緩存策略
當軟件結構按照O/R Mapping框架的要求進行針對性設計,使用對象緩存將會極大降低Web系統對于數據庫的訪問請求
良好的設計數據庫結構和利用對象緩存,能夠提供極高的性能,對象緩存適合OLTP(聯機事務處理)應用

2、查詢緩存

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

3、頁面緩存
a、作用

針對頁面的緩存技術不但可以減輕數據庫服務器壓力,還可以減輕應用服務器壓力
好的頁面緩存可以極大提高頁面渲染速度
頁面緩存的難點在于如何清理過期的緩存

b、分類
I、動態頁面靜態化

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

II、Servlet緩存

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

III、頁面內部緩存

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

六、web服務器端緩存

基于代理服務器模式的Web服務器端緩存,如squid/nginx
Web服務器緩存技術被用來實現CDN(內容分發網絡 content delivery network)
被國內主流門戶網站大量采用
不需要編程,但僅限于新聞發布類網站,頁面實時性要求不高

七、基于ajax的瀏覽器緩存

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

原文:http://blog.csdn.net/baidu_33497625/article/details/50801571

一、什么是緩存
1、Cache是高速緩沖存儲器 一種特殊的存儲器子系統,其中復制了頻繁使用的數據以利于快速訪問
2、凡是位于速度相差較大的兩種硬件/軟件之間的,用于協調兩者數據傳輸速度差異的結構,均可稱之為 Cache

二、緩存的分類
1、基于web應用的系統架構圖

2、在系統架構的不同層級之間,為了加快訪問速度,都可以存在緩存

操作系統磁盤緩存->減少磁盤機械操作
數據庫緩存->減少文件系統I/O
應用程序緩存->減少對數據庫的查詢
Web服務器緩存->減少應用服務器請求
客戶端瀏覽器緩存->減少對網站的訪問

三、操作系統緩存
1、文件系統提供的Disk Cache:操作系統會把經常訪問到的文件內容放入到內存當中,由文件系統來管理
2、當應用程序通過文件系統訪問磁盤文件的時候,操作系統從Disk Cache當中讀取文件內容,加速了文件讀取速度
3、Disk Cache由操作系統來自動管理,一般不用人工干預,但應當保證物理內存充足,以便于操作系統可以使用盡量多的內存充當Disk Cache,加速文件讀取速度
4、特殊的應用程序對文件系統Disk Cache有很高的要求,會繞開文件系統Disk Cache,直接訪問磁盤分區,自己實現Disk
5、Cache策略

Oracle的raw device(裸設備) – 直接拋棄文件系統
MySQL的InnoDB: innodb_flush_method = O_DIRECT

四、數據庫緩存
1、重要性

數據庫通常是企業應用系統最核心的部分
數據庫保存的數據量通常非常龐大
數據庫查詢操作通常很頻繁,有時還很復雜
以上原因造成數據庫查詢會引起非常頻繁的磁盤I/O讀取操作,迫使CPU掛起等待,數據庫性能極度低下

2、緩存策略
a、Query Cache

以SQL作為key值緩存查詢結果集
一旦查詢涉及的表記錄被修改,緩存就會被自動刪除
設置合適的Query Cache會極大提高數據庫性能
Query Cache并非越大越好,過大的Qquery Cache會浪費內存。
MySQL: query_cache_size= 128M

b、Data Buffer

data buffer是數據庫數據在內存中的容器
data buffer的命中率直接決定了數據庫的性能
data buffer越大越好,多多益善
MySQL的InnoDB buffer:innodb_buffer_pool_size = 2G
MySQL建議buffer pool開大到服務器物理內存60-80%

五、應用程序緩存
1、對象緩存

由O/R Mapping框架例如Hibernate提供,透明性訪問,細顆粒度緩存數據庫查詢結果,無需業務代碼顯式編程,是最省事的緩存策略
當軟件結構按照O/R Mapping框架的要求進行針對性設計,使用對象緩存將會極大降低Web系統對于數據庫的訪問請求
良好的設計數據庫結構和利用對象緩存,能夠提供極高的性能,對象緩存適合OLTP(聯機事務處理)應用

2、查詢緩存

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

3、頁面緩存
a、作用

針對頁面的緩存技術不但可以減輕數據庫服務器壓力,還可以減輕應用服務器壓力
好的頁面緩存可以極大提高頁面渲染速度
頁面緩存的難點在于如何清理過期的緩存

b、分類
I、動態頁面靜態化

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

II、Servlet緩存

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

III、頁面內部緩存

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

六、web服務器端緩存

基于代理服務器模式的Web服務器端緩存,如squid/nginx
Web服務器緩存技術被用來實現CDN(內容分發網絡 content delivery network)
被國內主流門戶網站大量采用
不需要編程,但僅限于新聞發布類網站,頁面實時性要求不高

七、基于ajax的瀏覽器緩存

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

總結

以上是生活随笔為你收集整理的Cache 简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。