天天看點

.NET : 監控ASP.NET應用程式的緩存使用記憶體數變化和命中情況

在ASP.NET開發中,我經常強調,資料的合理緩存是對性能很重要的一個因素。關于ASP.NET的緩存,一般會有三種做法

1. 頁面緩存

2. 控件緩存

3. 資料緩存

其中又以資料緩存這種方式最為靈活,用的最廣。

我們不光要會做緩存,還需要評估緩存的使用情況,利用性能監視工具,可以很容易做到這一點。如下圖所示

​​

.NET : 監控ASP.NET應用程式的緩存使用記憶體數變化和命中情況

​​

下面是我寫的測試代碼

/// <summary>

/// 建立100個緩存項目

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void Button1_Click(object sender, EventArgs e)

{

    for (int i = 0; i < 100; i++)

    {

        Cache["cache_" + i.ToString()] = i * 100000;

    }

}

/// 讀取100個緩存項目

protected void Button2_Click(object sender, EventArgs e)

    StringBuilder sb = new StringBuilder();

        sb.Append(Cache["cache_" + i.ToString()].ToString());

    }

    Response.Write(sb.ToString());

}

/// 随機讀取10個緩存項目

protected void Button3_Click(object sender, EventArgs e)

    Random rnd = new Random();

    for (int i = 0; i < 10; i++)

        sb.Append(Cache["cache_" + rnd.Next(99).ToString()].ToString());