【.Net】关于内存缓存的一点记录
2024-09-28 11:44:00
引言
最近看了内存缓存的一些介绍和用法,在此做个简单记录.
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()); //设定某个时间过后将逐出缓存
policy.SlidingExpiration = new TimeSpan(, , ); //设定某个时间段内未被访问将逐出缓存 //逐出通知,以下两种只能设置一种
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)
How to: Cache Objects Simply using System.Runtime.Caching.
ASP.NET Cache类
关于在ASP.NET下的Cache,Fish Li大大已经写得很详细,直接放上传送门--细说 ASP.NET Cache 及其高级用法.
小结
其实用内存缓存类,就是用到它里面的各种策略.如果单纯用来放数据,直接用个字典都行了.
最新文章
- iOS开发小技巧 -- tableView-section圆角边框解决方案
- SPIRE.DOC - .NET开发者的福利
- PyQt4自定义事件
- Ubuntu / Win7 安装db2 v10.5
- [Android Tips] 7. 以调试模式启动应用
- Spring 开启Annotation <;context:annotation-config>; 和 <;context:component-scan>;诠释及区别
- POJ3020——Antenna Placement(二分图的最大匹配)
- INTERIGHT 京东自营旗舰店-京东 要把凡客给弄残啊这是。。
- 双人贪吃蛇小游戏C++原创
- SQL表名,应该用复数还是单数
- Js控制iphone端的input/textarea元素失去焦点时隐藏键盘
- Android 之http编程
- 在 Wiki 标记中添加无序列表
- Java知多少(15)字符串
- 日期条控件 DateFieldControl
- Spring Boot以War包启动
- python基础题型一
- 第7章 网络层协议(4)_IGMP协议
- lumen 使用 laravel-cors 的时候, 使用 dd 函数的解决方法
- eui.Button 上放置两张图片