天天看点

.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());