asp_缓存

原创 2013年12月05日 15:01:10

1.页面缓存的实现:

<%@ OutputCache Duration="15" VaryByParam="id;name"%>

<%--1.*:代表只要请求报文发生任何改变,那么缓存就失效一次--%>
<%--3.设置一个请求当中的参数的key,多个key之间用;隔开--%>
<%--2.none:代表不管参数如何变化,这缓存都会持续15秒--%>


2.数据源缓存:

页面中拖入ObjectDataSource控件,然后在属性窗口中设置:

CacheDuration:30(自定义)

EnableCacheing:True(必须)

该实例可以通过数据库跟踪机制进行验证,方法:打开数据库跟踪机制,清楚里面全部信息,然后加载页面,在设置好的时间内,本实例为30秒,如果进行刷新,数据库跟踪中没有任何的消息,则代表数据源缓存正确执行。



3.数据库缓存配置:

C:\Program Files\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat (VS2012开发人员命令提示) ,可以直接在其内输入:aspnet_regsql -S . -E -ed -d bjhksj -et -t HKSJ_USERS

如果不存在,则在命令窗口中执行:cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319(回车)

aspnet_regsql -S . -E -ed -d bjhksj -et -t HKSJ_USERS

如下:




完成后数据库中:


然后在web.Config中:

红色字体在config中进行相应的修改
<system.web>
    <caching>
      <sqlCacheDependency enabled="true">
        <databases>
          <add name="HeimaRegulation" connectionStringName="connectionString" pollTime="500"/>
        </databases>
      </sqlCacheDependency>
    </caching>
</system.web>
则配置完成!!!

4.自定义缓存:

SelfCacheDemo.aspx:


 <div>
      <asp:Button ID="Button1" runat="server" Text="显示缓存" />
      <asp:Button ID="Button2" runat="server" Text="删除此缓存" onclick="Button2_Click" />
    </div>


SelfCacheDemo.aspx.cs:


protected void Page_Load(object sender, EventArgs e)
        {
            //添加一个缓存数据
            if (!IsPostBack)
            {
                //HttpContext.Current.Cache已经进行了封装,则可以直接用下面的方法进行
                //Cache
                //添加一条缓存数据
                //Cache.Insert("c1", DateTime.Now);此方法重新生成后,才能够改变
                //添加绝对过期时间的缓存
                //Cache.Insert("c1", DateTime.Now, null,DateTime.Now.AddSeconds(10), TimeSpan.Zero);//添加绝对过期时间new DateTime().AddSeconds(15),则其后必须跟有TimeSpan.Zero
               //添加滑动窗口的过期时间缓存,特定时间内,10秒内访问则继续延迟10秒钟,如果单位 时间内没有访问,则不会延迟
                //Cache.Insert("c1",DateTime.Now,null,DateTime.MaxValue,TimeSpan.FromSeconds(10));
                //添加一个依赖项的缓存,Cache是对多有人和所有的请求的
                //天机一个缓存,才缓存以来XML文件(可以为其他文件),当xml文件发生变化时,缓存失效
                //使用场景:数据正好是从数据里来的,那么可以把数据做成以来文件缓存
                Cache.Insert("c1", DateTime.Now,new System.Web.Caching.CacheDependency(Request.MapPath("a.xml")), DateTime.MaxValue, TimeSpan.FromSeconds(10));


                //依赖数据库缓存
                //适用场景:缓存的数据跟依赖的表相关,可以用这个方式。
                Cache.Insert("c1", DateTime.Now, new SqlCacheDependency("bjhksj","HKSJ_USERS"));


                Response.Write("写入缓存成功");
            }
            else
            {
                Response.Write(Cache["c1"]);
            }
        }


        protected void Button2_Click(object sender, EventArgs e)
        {
            Cache.Remove("c1");
            Response.Write("删除成功");
        }



LeftBar.aspx.cs:

 public partial class LeftBarMenuDemo : System.Web.UI.Page
    {
        public List<Model.HKSJ_Main> AllMenus { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            AllMenus = Cache["menu"] as List<Model.HKSJ_Main>;
            if (AllMenus == null)
            {
                //从数据库中读取,并写入缓存
                BLL.HKSJ_Main mainServer = new BLL.HKSJ_Main();
                AllMenus = mainServer.GetModelList(string.Empty);
                Cache.Insert("menu", AllMenus, null, DateTime.Now.AddMinutes(1), TimeSpan.Zero);
            }
        }
    }


LeftBar.aspx

 <div id="leftBar">
    <%foreach(var item in this.AllMenus) 
      {%>
      <p>
      <%=item.ID %>
      </p>
      <%} %>
    </div>

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

asp.net 缓存的各种方法

  • 2012-11-07 08:12
  • 116KB
  • 下载

ASP.NET缓存技术应用总结

  • 2011-12-07 11:20
  • 44KB
  • 下载

ASP.NET使用Memcached高缓存实例(初级教程)

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached...

ASP.NET缓存剖析

  • 2013-01-24 17:42
  • 326KB
  • 下载

ASP.NET在响应中禁止缓存

  • 2017-04-22 20:29
  • 65KB
  • 下载

如何利用缓存提高asp.net网站访问速度

ASP.NET提供三种主要形式的缓存:页面级输出缓存、用户控件级输出缓存(或称为片段缓存)和缓存API。输出缓存和片段缓存的优点是非常易于实现,在大多数情况下,使用这两种缓存就足够了。而缓存API则提...

概述ASP.NET缓存机制

  • 2011-07-17 22:36
  • 68KB
  • 下载

ASP.NET性能优化之让浏览器缓存动态网页

转载自:http://www.cnblogs.com/luminji/archive/2011/09/13/2172737.html 上一篇《ASP.NET性能优化之构建自定义文件缓...

ASP.NET_缓存技术

  • 2009-09-25 11:27
  • 178KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)