.NET 4.0中的缓存功能
# .NET 4.0中的缓存功能
.Net 4.0中有3种,System.Runtime.Caching,System.Web.Caching.Cache,
Output.Cache。下面分别对这三者进行介绍:
### 应用程序缓存 System.Runtime.Caching
-----------------------------
.net4内置的高速缓存
```
private void button1_Click(object sender, EventArgs e)
{
ObjectCache objectCache = MemoryCache.Default;
string value1 = objectCache["key1"] as string;
CacheItemPolicy policy = new CacheItemPolicy();
//--------------设置过期时间----------------
policy.AbsoluteExpiration = DateTime.Now.AddHours(1);
objectCache.Set("key1", "11223366", policy);
value1 = objectCache["key1"] as string;
//---------------测试不同类型时 as 是否能自动转换---------
objectCache.Set("key1", 112233, policy);
value1 = objectCache["key1"] as string;
//---------------测试Add方法,在键已经存在的情况下会不会报错------
bool b = objectCache.Add("key1", 112233, policy);
//---------------测试Add方法,键不存在的情况------
b = objectCache.Add("key2", 445566, policy);
int n = (int)objectCache.Get("key2") ;
}
```
### Web应用程序缓存 System.Web.Caching.Cache
-----------------------------
Web程序的缓存,Asp.Net MVC4中使用ViewBag来传递参数。
```
public ActionResult CacheTest()
{
ViewBag.Message = "Web缓存";
Cache cache = HttpRuntime.Cache;
if (cache["Key1"] == null)
{
cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(600), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
`
string s = cache["Key1"] as string;
ViewBag.Key1 = s;
ViewBag.Setting = "配置啊";
return View();
}
//-----------------Razor页面使用-------------------
@ViewBag.Key1
```
### 页面输出缓存 Output.Cache
-----------------------------
页面输出缓冲,Output.Cache是MVC的一个注解[Output.Cache]。
在过期时间内,返回给浏览器304,表示页面内容未修改。
```
[OutputCache(Duration =20)]//设置过期时间为20秒
public ActionResult ExampleCache()
{
var timeStr =DateTime.Now.ToString("yyyy年MM月dd日 HH时mm分ss秒");
ViewBag.timeStr = timeStr;
return View();
}
```
.NET 4.0中的缓存功能的更多相关文章
- yii2.0中数据缓存之增删改查
public function actionSss(){ /* * 获取到缓存 * 这里是获取的是根目录下 的common/main.php中的缓存类组件 * */ $cache=\Yii::$app ...
- 解决EF 4.0 中数据缓存机制
EF4.0默认开启缓存机制,如果想要禁用缓存机制的话,则须加上一句话:_db.CreateObjectSet().MergeOption = MergeOption.OverwriteChanges; ...
- C# 6.0 中的新增功能(.NET Framework 4.6 与 Visual Studio 2015 )
C#6.0 在 2015 年7月随着.NET Framework 4.6 一同发布,后期发布了.NET Framework 4.6.1,4.6.2. 一.自动属性初始化(Auto-property i ...
- 再编写代码中报错:CS8107 C# 7.0 中不支持功能“xxxxxx”。请使用 7.1 或更高的语言版本。
解决方法:项目右键属性 ---> 生成 ---> 找到最下面的高级按钮,点击高级按钮 ---> 常规 ---> 语言版本 ---> 选择 C#最新次要版本,或者比当前版本 ...
- 错误 CS8107 C# 7.0 中不支持功能“xxxxxx”。请使用 7.1 或更高的语言版本。
解决方法:项目右键属性 —> 生成 —> 找到最下面的高级按钮,点击高级按钮 —> 常规 —> 语言版本 —> 选择 C#最新次要版本,或者比当前版本更高的版本即可,点击 ...
- 全面认识一下.NET 4.0的缓存功能 (转)
转自:http://www.cnblogs.com/hjf1223/archive/2010/07/16/net_4_caching.html 很多关于.NET 4.0新特性的介绍,缓存功能的增强肯定 ...
- (转)全面认识一下.NET 4的缓存功能
很多关于.NET 4.0新特性的介绍,缓存功能的增强肯定是不会被忽略的一个重要亮点.在很多文档中都会介绍到在.NET 4.0中,缓存功能的增强主要是在扩展性方面做了改进,改变了原来只能利用内存进行缓存 ...
- Django 3.0中不推荐使用的及已经删除的功能
3.0中不推荐使用的功能 django.utils.encoding.force_text()和smart_text()的别名被弃用.如果您的代码支持Python 2,smart_str()并且 fo ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)
(前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...
随机推荐
- [译]ES读写文档时shard-replication模型
官网页面:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-replication.html 本文是对官网页面的 ...
- ArrayList源码深度解析
jdk:1.8 一.先看看ArrayList类的整体概述, ArraList是基于动态数组实现的一种线性列表,这种基于动态数组的好处就是索引比较快,时间复杂度为O(1):但是对数据修改比较慢,因为需要 ...
- js 在表单提交前进行操作
最近在写页面的时候,需要手动写一些在表单进行提交前的验证操作,正好看到了2种阻止表单提交的方法,可以进行一些逻辑处理 方法一:使用return false 原生js写法: <form id=&q ...
- Win7如何修改文件夹的默认视图,如何把详细信息改为平铺视图
先任意进入一个文件夹,右击选择平铺视图. 然后点击左上角的组织,文件夹和搜索选项,在文件夹选项的查看中点击"应用到文件夹",然后点击确定,弹出对话框,再确定. 随后再浏览别 ...
- 偶遇RecyclerView内部Bug
写在前面 最近忙着赶项目进度,都不知道这次博客写点啥好了,前两天碰巧遇到一个奇怪的bug,项目中未发现与异常相关的类,于是去百度.谷歌搜索,发现这是一个早就可能被写烂吐槽的Recy ...
- 误删 libc.so.6的解决方法(转)
今天不小心把libc.so.6给删除了. 原系统是这样的: libc.so.6 -> lib-2.6.1.so 本想新建立一个软链接,指向 lib-2.8.so 没想到 ln 命令不能用了. 原 ...
- codeforces C. Diverse Permutation
C. Diverse Permutation time limit per test 1 second memory limit per test 256 megabytes input standa ...
- .Net操作Excel,Work等几种解决方案
(一)传统操作Excel遇到的问题: 1.如果是.NET[使用office组件Microsoft.Iffice.interop.Excel的话],需要在服务器端装Office,且及时更新它,以防漏洞, ...
- android实现超酷的腾讯视频首页和垂直水平网格瀑布流一揽子效果
代码地址如下:http://www.demodashi.com/demo/13381.html 先来一波demo截图 实现ListView.GridView.瀑布流 1.导入RecyclerView的 ...
- Python-编码之大彻大悟
1.了解各种编码的来历及其在计算机内部的存储: http://www.cnblogs.com/JohnABC/p/3507219.html http://www.ruanyifeng.com/blog ...