Azure Redis Cache作为ASP.NET 缓存输出提供程序
前一篇文章《Azure Redis Cache作为ASP.NET Session状态提供程序 》我们已经知道如何将ASP.NET应用程序Session存储在Redis Cache中,这里我将使用Redis Cache存储页面输出缓存数据。
Redis Output Cache 提供程序是一个进程外输出缓存数据的存储机制,这些缓存数据是指完整的HTTP响应数据(页面输出缓存)。
使用Redis Output Cache提供程序,首先需要配置你的缓存,然后配置你得Web Application使用Redis Output Cache提供程序的NuGet程序包。
1、配置ASP.NET 页输出数据存储到缓存
创建一个Web Application,右键"引用",点击管理NuGet程序包,在搜索框中输入RedisOutputCacheProvider,然后点击安装。
由于Redis Output Cache提供程序NuGet程序包依赖StackExchange.Redis.StrongName程序集,我们会看到StackExchange.Redis.StrongName也被安装引用到Web应用程序中。这里有一个细节需要注意下:StackExchange.Redis.StrongName是strong-named version,而StackExchange.Redis是non-strong-named version。所以如果Web应用程序如果在之前引用了StackExchange.Redis程序集,那么我们需要删除对StackExchange.Redis程序集的引用。
完成程序集的引用后,我们可以在web.config文件中看到下面这段xml内容:
<caching>
<outputCachedefaultProvider="MyRedisOutputCache">
<providers>
<!--
<add name="MyRedisOutputCache"
type="Microsoft.Web.Redis.RedisOutputCacheProvider"
host = "127.0.0.1" [String]
port = "" [number]
accessKey = "" [String]
ssl = "false" [true|false]
databaseId = "0" [number]
applicationName = "" [String]
connectionTimeoutInMilliseconds = "5000" [number]
operationTimeoutInMilliseconds = "5000" [number]
/>
-->
</providers>
</outputCache>
</caching>
- host – Redis Cache的host name/endpoint
- port – 使用你的Redis Cache的SSL port或者非SSL port,这取决你的ssl设置的值
- accessKey – Redis Cache的primary key或者secondary key
- ssl – true(Cache/Client之间安全的通信),否则设为false
- 默认禁用 non-SSL port,有关启用 non-SSL port,参阅 Access Ports
- databaseId – 指定一个数据库用来存储缓存输出数据。如果未指定,默认值为0。
- applicationName – 缓存Key存储在__Data类实例中,如果多个应用程序共享相同的key,那么这个参数是可选的。如果不设置该参数将使用默认值。
- connectionTimeoutInMilliseconds – 这个设置会覆盖connectTimeout参数设置。如果未设置,那么会使用默认的connectTimeout值5000,详情请参考 StackExchange.Redis configuration model
- operationTimeoutInMilliseconds – 这个设置会覆盖syncTimeout参数设置。如果未设置,那么会使用默认的syncTimeout值1000,详情请参考 StackExchange.Redis configuration model
2、在需要输出缓存数据的页面添加OutputCache指令
<%@ OutputCache Duration="" VaryByParam="*" %>
此示例中页面输出缓存数据会在Redis Cache中保留60秒,更多关于OutputCache指令信息, 请参考 @OutputCache.
Azure Redis Cache作为ASP.NET 缓存输出提供程序的更多相关文章
- Azure Redis Cache作为ASP.NET Session状态提供程序
从上一篇博客<使用Azure Redis Cache>我们已经可以创建并使用Redis Cache为我们服务了. 作为Web开发者,我们都知道Session状态默认是保存在内存中的,它的优 ...
- 利用Azure Redis Cache构建百万量级缓存读写
Redis是一个非常流行的基于内存的,低延迟,高吞吐量的key/value数据存储,被广泛用于数据库缓存,session的管理,热数据高速访问,甚至作为数据库方式提高应用程序可扩展性,吞吐量,和实施处 ...
- Azure Redis Cache
将于 2014 年 9 月 1 日停止Azure Shared Cache服务,因此你需要在该日期前迁移到 Azure Redis Cache.Azure Redis Cache包含以下两个层级的产品 ...
- Azure Redis Cache (1) 入门
<Windows Azure Platform 系列文章目录> Microsoft Azure Redis Cache基于流行的开源Redis Cache. 1.功能 Redis 是一种高 ...
- Azure Redis Cache (2) 创建和使用Azure Redis Cache
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 注意: 截至今日2015年10月7日,国内由世纪互联运维的Azur ...
- Azure Redis Cache (3) 创建和使用P级别的Redis Cache
<Windows Azure Platform 系列文章目录> 在笔者之前的文档里面已经说明了,Azure Redis Cache分为三个不同的级别: - 基本,Basic,不包含SLA ...
- Azure Redis Cache (4) 配置和管理Redis Cache
<Windows Azure Platform 系列文章目录> 我们在创建完Azure Redis Cache后,经常需要切换Redis Cache的服务级别,这里我简单介绍一下使用Azu ...
- 使用Azure Redis Cache
通过上一篇博客<Redis Cache 简介>我们已经简单了解了Azure Redis Cache,这里就不过多赘述了. 1.创建Redis Cache 创建Redis Cache之前,我 ...
- System.Web.Caching.Cache类 Asp.Net缓存 各种缓存依赖
Cache类,是一个用于缓存常用信息的类.HttpRuntime.Cache以及HttpContext.Current.Cache都是该类的实例. 一.属性 属性 说明 Count 获取存储在缓存中的 ...
随机推荐
- BNUOJ-26586 Simon the Spider 最小生成树+枚举
题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26586 题意:给一个图,每条边有一个权值.要你求选择一棵树,权值和为sum,然后在树上选择 ...
- 电脑突然死机,系统日志记录事件ID=6008
刚才正在写代码,在一次保存之后,正要刷新看下效果,电脑突然关机,没有任何提示或延迟.我的笔记本电池是一直插上的,也连接着电源. 重新开机之后,找到系统日志查看.只有这一条错误记录:非正常关机,事件60 ...
- elecworks中“插入点”的意思
elecworks中自建符号时,”插入点“的用法: 插入点的作用是:建好的符号加入符号库后,从库里调用符号到原理图中时“插入点”就是符号的中心点---鼠标光标拖动的点. (插入点即为符号调出 时插入图 ...
- C++学习笔记(五):指针和引用
声明指针: //指针声明 * 号左右的空格是可选的,下面的定义都是正确的 int *pointer1; int* pointer2; int*pointer3; int * pointer4; //注 ...
- .NET解析HTML库集合
CsQuery AngleSharp Jumony HtmlAgilityPack Fizzler ScrapySharp NSoup
- javaScript 要点(十五)HTML DOM 导航
通过 HTML DOM,能够使用节点关系在节点树中导航. 1.HTML DOM 节点列表 getElementsByTagName() 方法返回节点列表.节点列表是一个节点数组. 下面的代码选取文档中 ...
- js获取上传文件内容(未完待续)
js 获取上传文件的字节数及内容 <div> 上传文件 : <input type="file" name = "file" id = &qu ...
- Codeforces Round #200 (Div. 1)D. Water Tree dfs序
D. Water Tree Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/343/problem/ ...
- 手机端overflow scroll卡顿的情况
在容器里设置或者html,body{-webkit-overflow-scrolling: touch;}
- 什么是集群(cluster)
1.集群 1.1 什么是集群 简单的说,集群(cluster)就是一组计算机,它们作为一个总体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点(node).一个理想的集群是,用户从来不会意识 ...