buffer是I/O緩存,用於內存和硬盤的緩沖。
cache最初用於cpu cache, 主要原因是cpu 與memory, 由於cpu快,memory跟不上,且有些值使用次數多,所以放入
cache中,主要目的是,重復使用, 並且壹級\二級物理cache速度快,
buffer 主要用於disk 與 memory, 主要是保護硬盤或減少網絡傳輸的次數(內存數據表現dataSet).當然也可以提高速度(不會立即寫入硬盤或直接從硬盤中讀出的數據馬上顯示),重復使用,最初最主要的目的是保護disk,
asp.net的cache有outputcahe與數據cache, 主要目的是 重復使用,提高速度,outputcache主要存儲Reader後的頁,壹般是多次使用同壹個HTML,建議不要varybyparam,不要存多version,
數據cache,如dataSet, dataTable, 等
@page buffer="true", 使用buffer,讓buffer滿後再顯示讀出或寫入,(c中文件輸出也是如此,主要目的是保護硬盤), 也可以提高下次的訪問速度. 在client browse端表現是: true是壹次性顯示,要麽不顯示, 中間等, false是壹次顯示壹些,
這在網絡輸出也是如此表現.
對於文件訪問c中默認采用的是buffer = true, 這與asp.net壹樣,
相當於Response.write();中當buffer滿後輸出,以減少網絡的傳輸次數
<%@ OutputCache Duration="60" VaryByParam="none"%>, 是將asp.net生成的HTML緩存起來,在指定的時間內不需要重新生成html, control.ascx.也有組件緩存(htmlCach)。 dataSet也是如此。DataCache,
cache和buffer都是緩沖區, 在翻譯上,cache翻譯成高速緩沖區要好壹點(因為主要是為下次訪問加速), buffer翻譯成緩沖區好點。都是緩沖的作用,可目的有點不同,主要是理解,不需要太咬文嚼字.