BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

在微软Azure中用Redis为ASP.NET应用加速

| 作者 谢丽 关注 10 他的粉丝 发布于 2015年11月20日. 估计阅读时间: 5 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Azure Redis Cache是微软Azure提供的一项托管服务。该服务基于开源Redis缓存构建,能够利用Redis引擎低延迟、高吞吐量的特性提高应用程序的响应速度。

目前,Azure Redis Cache包含以下三个服务等级:

  • 基本服务:仅有一个缓存节点,适合开发/测试和非关键工作负载,无SLA。
  • 标准服务:有两个节点(主节点/备用节点),具备自动故障转移和自动复制功能,提供高可用SLA。
  • 高级服务(预览):包含标准服务的所有特性,性能更好,安全性更高,支持更大的工作负载及灾难恢复。要了解更多特性,请查看这里

其中,基本/标准服务缓存上限为53GB,而高级服务的缓存上限为530GB。价格信息可以查看这里

Scott Hanselman是微软Web平台&工具部门的一名项目经理。去年,他曾撰文介绍Azure Redis Cache的基本用法。近日,他又介绍了一种新的Azure Redis Cache应用场景,即将其作为ASP.NET应用的缓存。

重要通知:接下来InfoQ将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注InfoQ微信公众号第一时间阅读精品内容。

据Scott介绍,ASP.NET现在提供了很好的Redis支持,可以从NuGet上下载Microsoft.Web.RedisSessionStateProvider库:

Install-Package Microsoft.Web.RedisSessionStateProvider

该库底层使用了StackExchange,但允许ASP.NET使用Session对象,并在Redis中保存结果,而不是在Web服务器的内存中。使用下面的代码在web.config中添加该库:

<sessionState mode="Custom" customProvider="FooFoo">
      <providers>               <add name="MySessionStateStore" 
            type="Microsoft.Web.Redis.RedisSessionStateProvider" 
            host="hanselcache.redis.cache.windows.net"
            accessKey="THEKEY" 
            ssl="true"
            port="1234" />
    </providers>
</sessionState>

Redis Desktop Manager中可以看到存储在Redis中的ASP.NET Session数据,如下图所示:

Redis Cache不仅可以用于存储Session State,而且还可以用于Output Cache,即将整个HTTP响应缓存。相应的库在ASP.NET 4.x中的安装方法同Session State Provider类似:

Install-Package Microsoft.Web.RedisOutputCacheProvider

这样,当在MVC Controller中使用[OutputCache]属性或在Web Forms中使用OutputCache指令(如<%@ OutputCache Duration="60" VaryByParam="*" %>)时,响应就会通过Redis来处理。对于类似产品目录这样的应用,可使其响应速度提高4~10倍。

用户也可以通过编程使用Redis,微软提供了在.NETNode.jsJavaPython中使用Azure Redis Cache的文档。如果不想在Azure甚或Linux上运行Redis,那么可以选用MSOpenTech的Redis on Windows分支。安装完成后,就可以通过命令行使用redis-cli.exe同Azure Redis Cache交互。而如果使用了本地Redis服务器(redis-server.exe),那么在部署到Azure的时候需要修改应用的Redis连接字符串。


感谢魏星对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

支持 下 by 张 小霖

支持 下

牛牛

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT