Opción de configuración de la aplicación (Almacenamiento en caché de AppFabric 1.1)
Las características de caché de Microsoft AppFabric 1.1 para Windows Server permiten configurar las opciones del cliente de caché de la aplicación mediante programación a través de un archivo de configuración de la aplicación o mediante ambas estrategias en diferentes lugares de la aplicación. Para obtener más información acerca de todos los métodos de configuración y cómo seleccionar cada uno de ellos, vea Configuración de un cliente de caché.
Independientemente de la estrategia que elija, estará configurando la misma opción de cliente de caché. Las tablas de este tema presentan las opciones disponibles para el cliente de caché e indican cómo están configuradas en el archivo XML de configuración de la aplicación y mediante programación, con el uso de código.
Para obtener más información acerca de cómo usar estas opciones en la aplicación, consulte los ejemplos que aparecen en Configuración de cliente basada en XML.
Configuración del cliente de caché
Cada cliente de caché tiene valores de configuración definidos. Si está usando un archivo de configuración, estos se incluyen en una o más secciones de dataCachClient
que se pueden integrar en una sección de dataCacheClients
. Por ejemplo:
<dataCacheClients>
<dataCacheClient name="default">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
<dataCacheClient name="compressedCache" isCommpressionEnabled="true">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
</dataCacheClients>
En el ejemplo anterior, hay dos clientes de caché definidos en el archivo de configuración: default
y compressedCache
. Para acceder a la caché predeterminada, no necesita especificar el nombre del cliente de caché. Por ejemplo:
DataCacheFactory factory = new DataCacheFactory();
Para especificar cualquier otra sección de dataCacheClient
con nombre, debe especificar el nombre de la sección de cliente de caché mediante el constructor DataCacheFactoryConfiguration.
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)
Si no está usando un archivo de configuración de la aplicación, puede definir mediante programación todos los valores de configuración con las propiedades de la clase DataCacheFactoryConfiguration.
Configuración | Ubicación de la configuración XML | Ubicación de configuración de código |
---|---|---|
Compresión (booleano) |
El atributo |
La propiedad IsCompressionEnabled de la clase DataCacheFactoryConfiguration. |
Tiempo de espera de cliente (milisegundos) |
El atributo |
La propiedad RequestTimeout de la clase DataCacheFactoryConfiguration. |
Tiempo de espera de canal abierto (milisegundos) |
El atributo |
La propiedad ChannelOpenTimeout de la clase C DataCacheFactoryConfiguration. |
Número máximo de conexiones con el servidor |
El atributo |
La propiedad MaxConnectionsToServer de la clase DataCacheFactoryConfiguration. |
Configuración de host de caché
Para cada cliente de caché, debe especificar uno o varios hosts de caché en el clúster. Especifique hosts principales, ya que los hosts de caché designados como hosts principales ayudan a administrar el clúster. Inicialmente, los hosts principales son los primeros hosts de caché instalados en el clúster. Para obtener más información acerca de los hosts principales, vea Diagrama de la arquitectura física de AppFabric (Almacenamiento en caché de AppFabric 1.1).
En el archivo de configuración de la aplicación, la configuración de cada host de caché se especifica en un elemento host, un objeto secundario del elemento hosts
. Mediante programación, cada host se define en el constructor de la clase DataCacheServerEndpoint. Una vez creadas las instancias, estos objetos DataCacheServerEndPoint se transmiten a la propiedad Servers de la clase DataCacheServerEndpoint.
Configuración | Ubicación de la configuración XML | Ubicación de configuración de código |
---|---|---|
Nombre del servidor de caché |
El atributo |
La propiedad HostName de la clase DataCacheServerEndpoint. |
Número de puerto de caché |
El atributo |
La propiedad CachePort de la clase DataCacheServerEndpoint. |
Configuración de caché local
La configuración de caché local especifica si ésta debe habilitarse, el modo en que deben invalidarse los objetos en caché local, el tiempo de espera del objeto y si deben usarse o no las notificaciones de caché para invalidar los objetos en caché local.
En el archivo de configuración de la aplicación, la configuración de caché local se define en el elemento localCache
, un objeto secundario del elemento dataCacheClient
. La memoria caché se configura mediante programación con una instancia de la clase DataCacheFactoryConfiguration que se pasa al constructor del constructor de la clase DataCacheFactory. Para obtener más información acerca de la memoria caché local, vea Clientes de caché y caché local (Almacenamiento en caché de AppFabric 1.1)
Configuración | Ubicación de la configuración XML | Ubicación de configuración de código |
---|---|---|
Caché local habilitada |
El atributo |
La propiedad IsEnabled de la clase DataCacheLocalCacheProperties. A continuación, este elemento se asigna a la propiedad LocalCacheProperties de la clase DataCacheFactoryConfiguration. |
Método de invalidación de caché local |
El atributo |
La propiedad InvalidationPolicy de la clase DataCacheLocalCacheProperties. Los valores posibles son NotificationBased y TimeoutBased. |
Tiempo de espera de la memoria caché local (segundos) |
El atributo |
La propiedad DefaultTimeout de la clase DataCacheLocalCacheProperties. |
Intervalo de sondeo de las notificaciones de caché específicas (segundos) |
(opcional) Especificado por el atributo |
La propiedad PollInterval de la clase DataCacheNotificationProperties. A continuación, este elemento se asigna a la propiedad NotificationProperties de la clase DataCacheFactoryConfiguration. |
Número máximo de objetos en caché local |
(opcional) Especificado por el atributo |
La propiedad ObjectCount de la clase DataCacheLocalCacheProperties. |
Nota
Para obtener el mejor rendimiento, habilite la memoria caché local solamente para los objetos que cambien con poca frecuencia. El uso de la memoria caché local para datos que cambien con frecuencia puede aumentar el riesgo de que el cliente trabaje con objetos obsoletos. Aunque podría reducir el valor de ttlValue
y hacer que el proceso actualice la memoria caché local con más frecuencia, el incremento de la carga del clúster podría ser mayor que los beneficios de tener la memoria caché local. En los casos en los que los datos cambian con frecuencia, lo mejor es deshabilitar la memoria caché local y extraer los datos directamente desde el clúster.
Configuración de la notificación
En el archivo de configuración de la aplicación, las propiedades de la notificación se definen en el elemento clientNotification
, un elemento secundario del elemento dataCacheClient
. Las propiedades de notificación se configuran mediante programación con una instancia de la clase DataCacheFactoryConfiguration que se pasa al constructor del constructor de la clase DataCacheFactory. Para obtener más información, vea Métodos de configuración.
Configuración | Ubicación de la configuración XML | Ubicación de configuración de código |
---|---|---|
Intervalo de sondeo de las notificaciones de caché específicas (segundos) |
Especificado por el atributo |
La propiedad PollInterval de la clase DataCacheNotificationProperties. A continuación, este elemento se asigna a la propiedad NotificationProperties de la clase DataCacheFactoryConfiguration. |
Longitud máxima de cola |
El atributo |
La propiedad MaxQueueLength de la clase DataCacheNotificationProperties. |
Configuración de seguridad
En el archivo de configuración de la aplicación, se definen las propiedades de la seguridad en el elemento securityProperties
, un elemento secundario del elemento dataCacheClient
. Las propiedades de seguridad se configuran mediante programación con una instancia del constructor de la clase DataCacheFactoryConfiguration que se pasa al constructor del constructor de la clase DataCacheFactory. Para obtener más información, vea Métodos de configuración.
Configuración | Ubicación de la configuración XML | Ubicación de configuración de código |
---|---|---|
Modo |
El atributo |
La propiedad SecurityMode de la clase DataCacheSecurity. Los valores posibles son None y Transport. A continuación, el objeto DataCacheSecurity se asigna a la propiedad SecurityProperties de la clase DataCacheFactoryConfiguration. |
Nivel de protección |
El atributo |
La propiedad ProtectionLevel de la clase DataCacheSecurity. Los valores posibles son None, Sign y EncryptAndSign. |
Configuración de transporte
En el archivo de configuración de la aplicación, las propiedades de transporte se definen en el elemento transportProperties
, un elemento secundario del elemento dataCacheClient
. Las propiedades de transporte se configuran mediante programación con una instancia de la clase DataCacheFactoryConfiguration que se pasa al constructor del constructor de la clase DataCacheFactory. Para obtener más información, vea Métodos de configuración.
Configuración | Ubicación de la configuración XML | Ubicación de configuración de código |
---|---|---|
Tamaño de búfer de conexión (bytes) |
El atributo |
La propiedad ConnectionBufferSize de la clase DataCacheTransportProperties. A continuación, este elemento se asigna a la propiedad TransportProperties de la clase DataCacheFactoryConfiguration. |
Tamaño máximo de grupo de búferes (bytes) |
El atributo |
La propiedad MaxBufferPoolSize de la clase DataCacheTransportProperties. |
Tamaño máximo de búfer (bytes) |
El atributo |
La propiedad MaxBufferSize de la clase DataCacheTransportProperties. |
Retraso máximo de salida (milisegundos) |
El atributo |
La propiedad MaxOutputDelay de la clase DataCacheTransportProperties. |
Tiempo de espera de inicialización de canal (milisegundos) |
El atributo |
La propiedad ChannelInitializationTimeout de la clase DataCacheTransportProperties. |
Tiempo de espera de recepción (milisegundos) |
El atributo |
La propiedad ReceiveTimeout de la clase DataCacheTransportProperties. |
Ejemplo de archivo de configuración de la aplicación
Para que los ensamblados de AppFabric puedan leer los elementos XML en el archivo de configuración de la aplicación, debe incluir el elemento configSections
como primer elemento del archivo debajo de la etiqueta configuration
. En el elemento configSections
, debe incluir un elemento section
asociado con el elemento dataCacheClient
.
En el ejemplo siguiente se muestra un archivo de configuración de la aplicación que usa muchas de las opciones de configuración del cliente de caché que se explican en este tema. Es importante tener en cuenta que únicamente se necesita el elemento hosts
en dataCacheClient
para conectarse al clúster. Todos los demás elementos secundarios tienen valores predeterminados.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--configSections must be the FIRST element -->
<configSections>
<!-- required to read the <dataCacheClient> element -->
<section name="dataCacheClient"
type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"/>
</configSections>
<dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
<localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
<clientNotification pollInterval="300" maxQueueLength="10000"/>
<hosts>
<host name="CacheServer1" cachePort="22233"/>
<host name="CacheServer2" cachePort="22233"/>
</hosts>
<securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
<transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
receiveTimeout="600000"/>
</dataCacheClient>
</configuration>
Vea también
Conceptos
Configuración de un cliente de caché
Valores de configuración de clúster
Solución de problemas de almacenamiento en caché de AppFabric
Uso de Windows PowerShell para administrar características de almacenamiento en caché de AppFabric 1.1
Conceptos de almacenamiento en caché de AppFabric (Almacenamiento en caché de AppFabric 1.1)
Desarrollar un cliente de caché
2012-03-05