销售电话: 1-800-867-1380

角色中缓存角色的配置设置 (ServiceConfiguration.cscfg)

更新时间: 2010年7月

note备注
有关为你的应用程序选择合适的 Azure 缓存产品/服务的指导,请参阅 Azure 缓存常见问题解答

本主题介绍 ServiceConfiguration.cscfg 文件中的可用 Microsoft Azure Cache 设置。这些设置指定了目标角色上的 缓存 的配置。当你启用 缓存 时,Visual Studio 中的角色属性对话框会自动配置这些设置。本主题中的参考信息对于要利用 缓存 的非 Visual Studio 云服务部署最有用。

以下示例演示了配置有 缓存 的基本 ServiceConfiguration.cscfg 文件。此示例包含两个命名缓存:defaultNamedCache1。这可以作为后面的参考部分的示例。

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">
  <Role name="WebRole1">
    <Instances count="2" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&quot;expiration&quot;:{&quot;defaultTTL&quot;:20,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:true}},&quot;secondaries&quot;:1}]}" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Microsoft.WindowsAzure.Plugins.Caching.NamedCaches 设置指定了所有缓存及其配置设置。此信息是使用 JSON 语法来组织的。在该语法中,双引号是使用 &quot; 字符实体引用来进行转义的。下面的 NamedCaches 值取自上述完整的 ServiceConfiguration.cscfg 文件。

{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&quot;expiration&quot;:{&quot;defaultTTL&quot;:20,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:true}},&quot;secondaries&quot;:1}]}

下面的示例显示与前面的示例相同的设置,但对输出进行了格式设置,并将 &quot; 符号替换为双引号。显示此示例是为了更好地理解语法,不应在 ServiceConfiguration.cscfg 文件中使用此示例。

{
    "caches": [
        {
            "name": "default",
            "policy": {
                "eviction": {"type": 0},
                "expiration": {"defaultTTL": 10, "isExpirable": true, "type": 1},
                "serverNotification": {"isEnabled": false}
            },
            "secondaries": 0
        },
        {
            "name": "NamedCache1",
            "policy": {
                "eviction": {"type": -1},
                "expiration": {"defaultTTL": 20, "isExpirable": true, "type": 2},
                "serverNotification": {"isEnabled": true}
            },
           "secondaries": 1
        }
    ]
}

所有命名缓存均在顶级 caches 字段中定义。每个命名缓存由以下三个字段定义。

 

“缓存”字段 说明

name

指定缓存的名称。

policy

逐出、过期和通知设置的策略。

secondaries

定义实现高可用性所需维护的备份副本数。此时,值必须为 01。值 0 禁用高可用性。

policy 字段包括以下属性。

 

“策略”字段 说明

eviction

包含单个字段 type,该字段指定逐出的类型。可能的值包括 0 (LRU) 和 -1(无)。值 0 对最近最少使用的项目启用逐出。值 -1 禁用逐出。

expiration

包含描述过期策略的三个字段。

  1. defaultTTL:项目在过期前保留在缓存中的分钟数。

  2. isExpirable:值 true 启用过期,值 false 禁用过期。

  3. type:过期的类型。值 0 禁用过期。值 1 指定绝对过期。值 2 指定滑动过期。如果使用滑动过期,则每次访问缓存中的项目均会重置过期时间。

Important重要提示
如果 type 设置为 0(禁用),则必须将 isExpirable 设置为 fasle,并且必须将 defaultTTL 设置为 0

serverNotification

包含单个字段 isEnabled,该字段指定是否为此缓存启用通知。

指定 缓存 的诊断信息收集的初始级别。此设置特定于作为缓存客户端的角色的诊断信息。此设置从客户端角度提供了有关缓存使用的诊断信息。请注意,在并置拓扑中,可以在同一角色配置中同时使用 ClientDiagnosticLevel 和 DiagnosticLevel。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />

指定 缓存 的诊断信息收集的初始级别。此设置特定于托管 缓存 的角色的诊断信息。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />

要用于 缓存 的可用内存百分比。对于共存拓扑,这应是个不带百分号的整数,例如 30

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />

对于专用拓扑,这应是个空字符串。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />

要用于 缓存 的 存储帐户。这是用于保存有关缓存群集的配置数据的存储,可从组成缓存群集的所有虚拟机中进行访问。请注意,下面的示例使用用于本地调试的开发人员存储。在部署到云之前,你应该将此存储更改为实际存储帐户。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft