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.

  • 相关阅读:
    LintCode Python 简单级题目 488.快乐数
    LintCode Python 简单级题目 100.删除排序数组中的重复数字 101.删除排序数组中的重复数字II
    LintCode Python 简单级题目 373.奇偶分割数组
    LintCode Python 简单级题目 39.恢复旋转排序数组
    LintCode Python 简单级题目 35.翻转链表
    LintCode Python 简单级题目 451.两两交换链表中的节点
    LintCode Python 简单级题目 174.删除链表中倒数第n个节点
    aws查看官方centos镜像imageid
    linux shell脚本查找重复行/查找非重复行/去除重复行/重复行统计
    php配置优化-生产环境应用版
  • 原文地址:https://www.cnblogs.com/rampb/p/5091785.html
Copyright © 2011-2022 走看看