• C#中Cache用法


    C#中Cache用法

       
    Cache 是分配在服务器上的一个公共的内存片,所谓公共指的cache只要一创建是任何一个客户端浏览器都可以通过后台代码访问到它,它面向的是所有用户,相对而言session也是服务器上的一 段内存,但他面向的是单个用户。它是服务器的一段内存块,也就是说每个cache一经创建就占用了服务器资源的。所以从这点来说我们就可以说:并不是 cache越多越好。cache 是有时间限制的,超过了服务器设定的过期时间,它就会被服务器回收。cache 可以存放任何对象。下面简单介绍一下cache的用法:
    1.cache的创建
       cache.
    Insert(string key,object value,CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration)//只介绍有5个参数的情况,其实cache里有很几种重载
    参数一:引用该对象的缓存键
    参数二:要插入缓存中的对象
    参数三:缓存键的依赖项,
    当任何依赖项更改时,该对象即无效,并从缓存中移除。 null.">如果没有依赖项,则此参数包含 null
    参数四:设置缓存过期时间
    参数五:参数四的依赖项,如果使用绝对到期,
    null.">slidingExpiration parameter must beNoSlidingExpiration.">则 slidingExpiration 参数必须为 NoSlidingExpiration
    2.销毁cache
    cache.Remove(string key)//key为缓存键,通过缓存键进行销毁
    3.调用cache
    例如你存的是一个DataTable对象,调用如下: DataTable finaltable = Cache["dt"] as DataTable;
    4.一般什么时候选用cache
    cache一般用于数据较固定,访问较频繁的地方,例如在前端进行分页的时候,初始化把数据放入缓存中,然后每次分页都从缓存中取数据,这样减少了连接数据库的次数,提高了系统的性能。
    下面写一个demo,一般是怎么操作cache的:
    DataTable dtList = SerializeUtils.DeSerialize(DALServiceFactory.Create_LianMeng().Show_DAFAchannel(BeginTime, EndTime, 1410)) as DataTable;
            if (dtList.Rows.Count > 0)
            {
                Cache["dt"] = dtList;
                Cache.Insert("keydt", dtList, null, DateTime.Now.AddDays(1), System.Web.Caching.Cache.NoSlidingExpiration);//创建缓存
            }
    调用缓存时的操作:
     if (Cache["dt"] != null){
                    Cache.Get("keydt");
                    DataTable finaltable = Cache["dt"] as DataTable;
    }
  • 相关阅读:
    SQL之merge into(转)
    SQL Server 中的 NOLOCK 到底是什么意思?
    SSIS之数据流任务
    SSIS之序列容器
    SSIS的控制流之Foreach循环容器和序列容器
    SSIS的控制流之For循环容器
    SSIS包的组建之连接管理器
    SSIS包的开发
    SSIS简介
    ODBC、OLE DB、 ADO的区别
  • 原文地址:https://www.cnblogs.com/zhangbin89021/p/3756867.html
Copyright © 2020-2023  润新知