zoukankan      html  css  js  c++  java
  • 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="60" VaryByParam="*" %>

    此示例中页面输出缓存数据会在Redis Cache中保留60秒,更多关于OutputCache指令信息, 请参考 @OutputCache.

  • 相关阅读:
    [转]面向对象的三个基本特征
    C#验证Email
    天气预报
    【原】c#实现数字金额转换成大写金额
    C#发送Email
    DIV 显示最上层
    ArrayList 与 String[] 之间的转换
    Flex与.NET互操作(五):FileReference+HttpHandler实现上传/下载
    Flex与.NET互操作(三):基于WebService的数据访问(下)
    Flex与.NET互操作(六):Flex和.NET协同开发利器FluorineFx
  • 原文地址:https://www.cnblogs.com/rampb/p/5091785.html
Copyright © 2011-2022 走看看