10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

  • 2015-11-19
  • 本文字数:1358 字

    阅读完需:约 4 分钟

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,微软提供了在.NET Node.js Java Python 中使用 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 读者交流群(#2))。

2015-11-19 18:002808
用户头像

发布了 1008 篇内容, 共 433.2 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

WorkPlus Meet局域网视频会议软件的领先解决方案

BeeWorks

玩转数据-Python数据采集的方法-淘宝商品详情接口

技术冰糖葫芦

API 接口

在 Windows 上利用Qwen大模型搭建一个 ChatGPT 式的问答小助手

Hunter熊

大模型 cuda Qwen Torch

兼容m1 Lightroom Classic 2021 for mac(lr 2021 中文大师版)

Rose

如何让 iPhone 无线投屏到 Mac 上呢?airserver mac专业投屏工具

Rose

使用 Gateway API 在命名空间之间发送流量

Gingxing

kong API网关 kong-plugin Kong 网关 Kong Gateway

Github每日热榜2024.03.17

天马行空的大杂烩

程序员 最新 开源软件

【线上问题】记一次公司日志基础组件SPI使用不当导致业务中断

Disaster

bug java 并发

WorkPlus行政单位内部即时通讯软件的最佳解决方案

BeeWorks

精美和令人震撼的3D动态桌面壁纸Mach Desktop 4K for Mac

Rose

Waves12破解版安装教程 Mac版全套音频效果处理工具 支持M1/M2

Rose

AI是助力还是取代我们?

Bruce Talk

AI Copilot

简单实用的鼠标右键助手专业版MouseBoost Pro mac版

Rose

macOS 的专业音乐播放器和 MIDI 文件编辑器QMidi Pro for Mac破解版

Rose

博客平台选择指南:找到适合程序员的完美舞台

何书悦

程序人生 写作

解开命运之"结",重拾现实自由——《1Q84》中的奇幻现实与人生哲学

少油少糖八分饱

读书笔记 命运 村上春树 小说推荐 1Q84

path finder for mac 激活码 最好用的文件管理浏览器

Rose

ACCDB MDB Explorer for mac 专业的MDB和ACCDB数据库查看器

Rose

Kubernetes反模式避坑指南

俞凡

Kubernetes 最佳实践

华为配置Hotspot2.0无线网络示例

知孤云出岫

网络安全

移相全桥DC-DC变换器快速设计与开发

芯动大师

芯片 DC-DC 电源控制

关于云交互与实时的云渲染技术

3DCAT实时渲染

实时云渲染 云交互

散热利器来袭,TG Pro for Mac让你告别Mac过热问题!

Rose

SketchUp Pro2023中文集成破解版【含草图大师2023序列号和验证码】

Rose

1688API接口推荐:1688店铺所有商品数据接口

tbapi

1688API 1688店铺所有商品接口 1688店铺数据接口

Vben-Admin 错误 Cannot destructure property 'VITE_GLOB_APP_TITLE' of 't' as it is undefined

麦兜

iot的10种常见协议,特点,组网模式及其使用场景

了了

IoT 技术选型 组网

在微软Azure中用Redis为ASP.NET应用加速_微软_谢丽_InfoQ精选文章