zoukankan      html  css  js  c++  java
  • ASP.NET缓存Cache应用简单学习

    我们在页面上添加三个按钮并双击按钮创建事件处理方法,三个按钮使用不同的过期策略添加缓存。

    <asp:Button ID="btn_InsertNoExpirationCache" runat="server" Text="插入永不过期缓存"
    OnClick="btn_InsertNoExpirationCache_Click" />
    <asp:Button ID="btn_InsertAbsoluteExpirationCache" runat="server" Text="插入绝对时间
    过期缓存" OnClick="btn_InsertAbsoluteExpirationCache_Click" />
    <asp:Button ID="btn_InsertSlidingExpirationCache" runat="server" Text="插入变化时间
    过期缓存" OnClick="btn_InsertSlidingExpirationCache_Click" />

    三个按钮的Click事件处理方法如下:

    protected void btn_InsertNoExpirationCache_Click(object sender, EventArgs e)
    {
        DataSet ds = GetData();
        Cache.Insert("Data", ds);
    }
    protected void btn_InsertAbsoluteExpirationCache_Click(object sender, EventArgs e)
    {
        DataSet ds = GetData();
        Cache.Insert("Data", ds,null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
    }
    protected void btn_InsertSlidingExpirationCache_Click(object sender, EventArgs e)
    {
        DataSet ds = GetData();
        Cache.Insert("Data", ds, null, DateTime.MaxValue, TimeSpan.FromSeconds(10));
    }

    我们来分析一下这三种过期策略。
    · 永不过期。直接赋值缓存的Key和Value即可
    · 绝对时间过期。DateTime.Now.AddSeconds(10)表示缓存在10秒后过期,TimeSpan.Zero表示不使用平滑过期策略。
    · 变化时间过期(平滑过期)。DateTime.MaxValue表示不使用绝对时间过期策略,TimeSpan.FromSeconds(10)表示缓存连续10秒没有访问就过期。
    在这里,我们都使用了Insert()方法来添加缓存。其实,Cache还有一个Add()方法也能向缓存中添加项。不同之处在于Add()方法只能添加缓存中没有的项,如果添加缓存中已有的项将失败(但不会抛出异常),而Insert()方法能覆盖原来的项。
    注意:和Application不同,这里不需要使用在插入缓存的时候进行锁操作,Cache会自己处理并发。

  • 相关阅读:
    【ZJOI2007】矩阵游戏
    【洛谷1402】酒店之王
    【洛谷2756】飞行员配对方案问题
    【BZOJ2125】最短路
    【SDOI2018】战略游戏
    【APIO2018】铁人两项
    【FJOI2014】最短路径树问题
    【GXOI/GZOI2019】旅行者
    【Cerc2012】Farm and factory
    【CERC2017】Gambling Guide
  • 原文地址:https://www.cnblogs.com/jiangchongwei/p/1528621.html
Copyright © 2011-2022 走看看