• 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;
    }

  • 相关阅读:
    我不喜欢的 Rust 特性 (之一) eager drop
    为 Windows Phone 8.1 app 解决“The type does not support direct content.”的问题
    输入10个互不相同的数字并分成5对,问有多少种分法。
    code wars quiz: toInteger
    my first emacs custom key binding
    http协议消息报头学习笔记
    移动端经常遇到的小bug
    js小技巧
    ajax
    js正则表达
  • 原文地址:https://www.cnblogs.com/xiaohui1990/p/3416719.html
Copyright © 2020-2023  润新知