System.Web.Caching学习笔记
-
存放缓存
#region 存放对应缓存 Cache cache = HttpRuntime.Cache; //文件缓存依赖 cache.Insert("CC", "依赖项测试", new CacheDependency(@"D:\123.txt")); //这时候在about.aspx页面添加一行代码,当更改一下D:123.txt时,cache["cc"]会立即被清空 //30秒后就到期,立即移除,没商量 cache.Insert("DD", "绝对过期测试", null, DateTime.Now.AddSeconds(30), System.Web.Caching.Cache.NoSlidingExpiration); //弹性过期时间,当缓存没使用10秒就过期 cache.Insert("EE", "滑动过期测试", null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(10)); //文件权重级别 cache.Add("FF", "缓存重要级别", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30), CacheItemPriority.High, null); //在服务器释放系统内存时,具有该优先级级别的缓存项最有可能被从缓存删除。 //Low = 1,-------------在服务器释放系统内存时,具有该优先级级别的缓存项比分配了 System.Web.Caching.CacheItemPriority.Normal优先级的项更有可能被从缓存删除。 //BelowNormal = 2,---------------在服务器释放系统内存时,具有该优先级级别的缓存项很有可能被从缓存删除,其被删除的可能性仅次于具有 System.Web.Caching.CacheItemPriority.Low //Normal = 3,-------------------缓存项优先级的默认值为 System.Web.Caching.CacheItemPriority.Normal。 //Default = 3,----------------在服务器释放系统内存时,具有该优先级级别的缓存项被删除的可能性比分配了 System.Web.Caching.CacheItemPriority.Normal优先级的项要小。 //AboveNormal = 4,-------------在服务器释放系统内存时,具有该优先级级别的缓存项最不可能被从缓存删除。 //High = 5,-------------------在服务器释放系统内存时,具有该优先级级别的缓存项将不会被自动从缓存删除。但是,具有该优先级级别的项会根据项的绝对到期时间或可调整到期时间与其他项一起被移除 // NotRemovable = 6, //文件权重级别+Callback cache.Add("GG", "缓冲移除通知", null, DateTime.Now.AddSeconds(10), Cache.NoSlidingExpiration, CacheItemPriority.Low, Show); #endregion //回调 public void Show(string key, object value, CacheItemRemovedReason reason) { Cache cache = HttpRuntime.Cache; Cache.Insert("GG", "缓存被清空啦!缓存被清空啦!缓存被清空啦!缓存被清空啦!缓存被清空啦!缓存被清空啦!缓存被清空啦!"); }
-
获取缓存
#region 获取对应缓存 //直接打开本页面,输出缓存依赖项测试 //当更改D:\123.txt之后,在刷新,输出空,表明该Cache是依赖于D:\123.txt的 Response.Write(HttpContext.Current.Cache["CC"]); //持续刷新30后,不会再输出 绝对过期测试 Response.Write(HttpContext.Current.Cache["DD"]); //如果一直不停地刷新,都会继续输出,但是当超过10秒后再刷新,不会再输出 滑动缓存测试 Response.Write(HttpContext.Current.Cache["EE"]); //文件权重级别 Response.Write(HttpRuntime.Cache["FF"]); //测试回调函数 Response.Write(HttpRuntime.Cache["GG"]); #endregion
本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/15813518.html
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。
![](https://images.cnblogs.com/cnblogs_com/wml-it/2196906/o_230823011905_wxgzhss.png)