• Asp.net 缓存使用


    ASP.net缓存主要分为:

    1.页面缓存(中庸)

    2.数据源缓存(最不灵活的)

    3.数据缓存(灵活)这三种主要类型


    应用介绍

    1.页面缓存:给页面添加<%@ OutputCache Duration=“15”  VaryByParam=“none”%>标签就可以启用页面缓存,这样整个页面的内容都会被缓存,页面中的ASP.Net代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。 也就是不会执行C#和HTML代码,直接到缓存空间中拿已经存在的页面。

    对于看新闻页面来讲,如果如上设置的话,则会缓存在第一个看到的新闻,因为?id=2、?id=3只是页面的不同参数而已,为了能让不同的新闻各自缓存,因此可以设置VaryByParam=“id”,表示对于相同页面的不同的id参数进行单独缓存。如果有多个确定缓存的参数,则将参数名用分号隔开即可,比如VaryByParam=“id;number”。如果想让任何不同的查询字符串都创建不同的缓存,则设置VaryByParam="*",一般情况下设置“*”就足够。

    一般网站的首页设置页面缓存。

    2.数据源缓存
    设定ObjectDataSource的CacheDuration(缓存时间:秒),EnableCaching=true。这样每隔CacheDuration指定的时间段才调用SelectMethod指定的方法来执行数据库查询,其他时候都是直接返回缓存的数据。取数据的过程缓存,在缓存期间,绑定控件向ObjectDataSource要数据, ObjectDataSource直接将缓存的数据返回给控件,不再去向TypeName指向的类要数据。
    CacheExpirationPolicy="Sliding"。缓存实效策略。

    3.数据缓存

    var data = HttpRuntime.Cache["hotwords"];
    if (data == null)
    {
        IEnumerable<SearchSum> hotwords = new KeywordLogServices().GetHotWords();
        //将数据放入缓存,key为"hotwords",缓存30秒
        //第一个参数为缓存项的key,第二个参数为值
        //第四个参数为超时时间
        HttpRuntime.Cache.Insert("hotwords", hotwords, null, DateTime.Now.AddSeconds(30), TimeSpan.Zero);
        return hotwords;
    }
    else
    {
        return (IEnumerable<SearchSum>)data;
    }

    if (Cache["list"] != null)
    {
        TextBox1.Text=Cache["list"].ToString();
    }
    else
    {
        List<MODEL.Aticle> list = new BLL.Aticle().GetAll()[0];
        Cache.Insert("list", list.ATitle, null, DateTime.Now.AddHours(1), TimeSpan.Zero);
    }

  • 相关阅读:
    Idea 一些常用的小工具
    玩转SpringBoot之定时任务详解
    mysql 创建自定义函数
    mysql
    一段mysql脚本,生成一些随机数时使用。
    mysql 命令行常用操作与mysql too many connections 解决方法
    如何获取多个分组之后的第一条数据
    Linux aliyun ECS CentOS8 服务器安装Redis 部署集群 ,JDK安装与Tomcat配置
    Redis 各个版本下载地址
    centos7安装mysql5.7(rpm安装版)与 Mysql 权限
  • 原文地址:https://www.cnblogs.com/Snowolf/p/2458747.html
Copyright © 2020-2023  润新知