Opciones de configuración de roles de Caché en rol (ServiceConfiguration.cscfg)
Importante
Microsoft recomienda todos los nuevos desarrollos que usen Azure Redis Cache. Para obtener documentación actual e instrucciones sobre cómo elegir una oferta de Azure Cache, consulte ¿Qué oferta de Azure Cache es adecuada para mí?
En este tema se describe la configuración de caché de Microsoft Azure disponible en el archivo ServiceConfiguration.cscfg. Esta configuración especifica la configuración del almacenamiento en caché en el rol de destino. El cuadro de diálogo de propiedades de rol de Visual Studio configura automáticamente estas opciones al habilitar el almacenamiento en caché. La información de referencia de este tema es más útil para las implementaciones de servicios en la nube que no son Visual Studio que desean aprovechar el almacenamiento en caché.
ServiceConfiguration.cscfg
En el ejemplo siguiente se muestra un archivo ServiceConfiguration.cscfg básico que tiene configurado el almacenamiento en caché. Este ejemplo tiene dos cachés con nombre, default
y NamedCache1
. Esto puede servir de ejemplo de las secciones de referencia siguientes.
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzure1" xmlns="https://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="{"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}]}" />
<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>
CachésConNombre
La opción Microsoft.WindowsAzure.Plugins.Caching.NamedCaches especifica todas las cachés y sus opciones de configuración. Esta información se organiza mediante una sintaxis JSON. A las comillas dobles de la sintaxis se les aplica la referencia a la entidad de carácter con escape "
. El valor de NamedCaches siguiente se toma del archivo ServiceConfiguration.cscfg completo anterior.
{"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}]}
El ejemplo siguiente muestra la misma configuración del ejemplo anterior, pero el resultado tiene formato y los símbolos "
se sustituyen por comillas dobles. El fin de esto es comprender mejor la sintaxis, pero no debe usarse en el archivo 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
}
]
}
Todas las cachés con nombre se definen dentro de un campo de caché de nivel superior. Cada caché con nombre se define mediante los tres campos siguientes.
Campo de caché | Descripción |
---|---|
name |
Especifica el nombre de la memoria caché. |
directiva |
Directiva para la configuración de expulsión, expiración y notificación. |
Secundarios |
Define el número de copias de seguridad que se mantendrán para alta disponibilidad. En este momento, el valor debe ser |
El campo de directiva consta de las siguientes propiedades.
Campo de directiva | Descripción |
---|---|
Desalojo |
Contiene un único campo, tipo, que especifica el tipo de expulsión. Los valores posibles son |
expiration |
Contiene tres campos que describen la directiva de expiración.
Importante En type se establece |
serverNotification |
Contiene un único campo, isEnabled, que especifica si las notificaciones están habilitadas para esta caché. |
ClientDiagnosticLevel
Especifica el nivel inicial de recopilación de diagnóstico para el almacenamiento en caché. Esta opción es específica para la información de diagnóstico de los roles que son clientes de una caché. Proporciona información de diagnóstico sobre el uso de la caché desde la perspectiva del cliente. Tenga en cuenta que en la topología colocalizada, es posible usar tanto ClientDiagnosticLevel como DiagnosticLevel en la misma configuración de roles.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
DiagnosticLevel
Especifica el nivel inicial de recopilación de diagnóstico para el almacenamiento en caché. Esta configuración es específica de la información de diagnóstico sobre los roles que hospedan el almacenamiento en caché.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
CacheSizePercentage
Porcentaje de memoria disponible que se va a usar para el almacenamiento en caché. Para las topologías colocalizadas, debe ser un número entero sin un símbolo de porcentaje, por ejemplo, 30
.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
Para las topologías dedicadas, debe ser una cadena vacía.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />
ConfigStoreConnectionString
La cuenta de almacenamiento de Azure que se va a usar para el almacenamiento en caché. Este almacenamiento se usa para conservar datos de configuración sobre el clúster de caché y es accesible desde todas las máquinas virtuales que componen el clúster de caché. Tenga en cuenta que el ejemplo siguiente usa el almacenamiento del desarrollador para la depuración local. Antes de implementar en la nube, debe cambiarlo por una cuenta de almacenamiento real.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />