• 【.Net】关于内存缓存的一点记录


    引言

         最近看了内存缓存的一些介绍和用法,在此做个简单记录.

    MemoryCache 类

      MemoryCache 类是.Net 4.0推出的类库,主要是为了方便在Winform和Wpf中构建缓存框架的.下面是其中的一点用法

                ObjectCache cache = MemoryCache.Default;    //得到MemoryCache全局实例
                string myData = cache["mydata"] as string;  //访问缓存数据
    
                if (myData == null)
                {
                     CacheItemPolicy policy = new CacheItemPolicy();  //创建缓存项策略
    
                     //过期时间设置,以下两种只能设置一种
                    policy.AbsoluteExpiration = new DateTimeOffset(DateTime.Now.AddMinutes(5)); //设定某个时间过后将逐出缓存
                    policy.SlidingExpiration = new TimeSpan(0, 0, 10);    //设定某个时间段内未被访问将逐出缓存
    
                    //逐出通知,以下两种只能设置一种
                     policy.UpdateCallback = arguments => { Console.WriteLine("即将逐出缓存" + arguments.Key); };  //逐出前执行的方法
                    //policy.RemovedCallback = arguments => { Console.WriteLine("已经逐出缓存" + arguments.CacheItem.Key); };  //逐出后执行的方法
    
                    //缓存监视类有4种
                    //CacheEntryChangeMonitor;
                    //FileChangeMonitor;
                    //HostFileChangeMonitor;
                    //SqlChangeMonitor;
                    //用法
                    //List<string> filePaths = new List<string>();
                    //filePaths.Add("c:\cache\example.txt");
                    //policy.ChangeMonitors.Add(new HostFileChangeMonitor(filePaths));
                     myData = "缓存数据"+DateTime.Now.ToShortTimeString();
    
                     cache.Set("mydata", myData, policy);  //设置缓存数据,如果已存在则覆盖
                }
                Console.WriteLine("得到" + myData);

         参考资料:

          ASP.NET 4 快取 API 有两种:Cache 与 ObjectCache(MemoryCache)

          MemoryCache 类  

          How to: Cache Objects Simply using System.Runtime.Caching.

    ASP.NET Cache类

       关于在ASP.NET下的Cache,Fish Li大大已经写得很详细,直接放上传送门--细说 ASP.NET Cache 及其高级用法.

     小结

         其实用内存缓存类,就是用到它里面的各种策略.如果单纯用来放数据,直接用个字典都行了.

     

  • 相关阅读:
    SQLAlchemy介绍
    Flask介绍
    逆转的生殖——形而下的EOE补完仪式…
    huiyin
    实验课上
    我的博客今天1岁213天了,我领取了…
    关于直接写屏
    OceanBorn&nbsp;&nbsp;歌曲列表
    Gethsemane
    光辉岁月-Beyond
  • 原文地址:https://www.cnblogs.com/caizl/p/4753432.html
Copyright © 2020-2023  润新知