一、緩存概念,緩存的好處、類型。
-------------------------------------------------------------------------------- 緩存是一種用空間換取時間的技術(shù),通俗點也就是說把你得到的數(shù)據(jù)存放在內(nèi)存中一段時間,在這短時間內(nèi)服務(wù)器不去讀取數(shù)據(jù)庫、或是真實的數(shù)據(jù)源,而是讀取你存放在內(nèi)存中的數(shù)據(jù),這里你會疑惑怎么設(shè)置存放數(shù)據(jù),能存放什么樣子的數(shù)據(jù),存放時間的設(shè)置,真實數(shù)據(jù)源數(shù)據(jù)改變服務(wù)器不就讀取存在偏差?別急,下面慢慢會說到的。。
緩存的好處,緩存是網(wǎng)站性能優(yōu)化不可缺少的一種數(shù)據(jù)處理機制,他能有效的緩解數(shù)據(jù)庫壓力,例如,網(wǎng)站每分鐘的點擊率為100萬,如果不使用緩存的靜態(tài)頁面,這里也沒有viewstate的情況下(viewstate會產(chǎn)生大量的字符串,對服務(wù)器交互數(shù)據(jù)是一種壓力,所以一般頁面是要禁用viewstate,采用緩存的),只能是用戶點擊一次該頁面,這個頁面就讀取一次數(shù)據(jù)庫,這樣給數(shù)據(jù)庫造成的壓力可想而知,如果這里我們使用了緩存的話,設(shè)置緩存有效期為1分鐘,則這一分鐘只內(nèi),點擊100萬次跟點擊一次是一樣的,都是讀取一次數(shù)據(jù)庫,數(shù)據(jù)源是被緩存在內(nèi)存中了。
asp.net中的緩存主要分為:頁面緩存,數(shù)據(jù)源緩存,自定義數(shù)據(jù)緩存這三種主要類型。
--------------------------------------------------------------------------------
二、數(shù)據(jù)緩存
--------------------------------------------------------------------------------
代碼如下:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Cache["date"]=要緩存的數(shù)據(jù); 這里是自定義緩存的簡單聲明使用
string datastr = DateTime.Now.ToLongTimeString();
Response.Write("第一個輸出時間:"+datastr+"</br>"); //這里讀取的當(dāng)前的時間,刷新頁面時,這里的時間會隨著變化。
if (Cache["date"] == null) //判斷是否存在value值為date的緩存是否存在
{
Cache["date"] = datastr;
Response.Write("第二個輸出時間為:"+Cache["date"] + "這里讀取的當(dāng)前的時間"); //這里讀取的當(dāng)前的時間,刷新頁面時,這里的時間會隨著變化。
新聞熱點
疑難解答
圖片精選