Habilitar la memoria caché local de AppFabric 1.1
Microsoft AppFabric 1.1 para Windows Server ofrece la opción de configurar el cliente de caché mediante programación o con un archivo de configuración de aplicación. En los siguientes procedimientos se describe cómo habilitar la memoria caché local en el cliente de caché mediante programación. Para obtener más información acerca de cómo hacer esto mediante el archivo de configuración de la aplicación, vea Habilitación de la memoria caché local (XML).
En los siguientes pasos se describe el proceso necesario para habilitar mediante programación la memoria caché local para el cliente de caché:
Cree una instancia de la clase DataCacheLocalCacheProperties. Configure la memoria caché local. Para ello, transfiera los valores correspondientes a los parámetros del constructor. Entre ellos se incluyen objectCount, defaultTimeout e invalidationPolicy.
Transfiera el objeto DataCacheLocalCacheProperties al constructor de un nuevo objeto DataCacheFactory.
Use el objeto DataCacheFactory para llamar al método GetCache y crear un cliente de caché que use la memoria caché local.
Advertencia |
---|
En estos procedimientos se supone que ya preparó el entorno de desarrollo y configuró las referencias para los ensamblados de Almacenamiento en caché de AppFabric. Para obtener más información, consulte Preparación del entorno de desarrollo de clientes de caché (Almacenamiento en caché de AppFabric 1.1). |
Procedimiento para crear un cliente de caché con la memoria caché local habilitada
Cree una matriz de objetos DataCacheServerEndpoint para especificar los hosts de caché para el cliente.
Cree una instancia de la clase DataCacheLocalCacheProperties. Configure la memoria caché local. Para ello, transfiera los valores correspondientes a los parámetros del constructor.
Use el parámetro
objectCount
para especificar el número máximo de objetos en la memoria caché local.Use el parámetro
defaultTimeout
para especificar un objeto System.TimeSpan que determine el tiempo que permanecerá un objeto en la memoria caché local antes de invalidarse.Use el parámetro
invalidationPolicy
para especificar cómo se invalidan los objetos en la memoria caché local. Especifique DataCacheLocalCacheInvalidationPolicy.TimeoutBased para indicar que solamente se debe usar el valor de tiempo de espera. Especifique DataCacheLocalCacheInvalidationPolicy.NotificationBased para indicar que se usarán notificaciones de caché además de tiempos de espera. Para obtener más información, vea Clientes de caché y caché local (Almacenamiento en caché de AppFabric 1.1).
Si seleccionó DataCacheLocalCacheInvalidationPolicy.NotificationBased para la directiva de invalidación, tiene la opción de controlar el intervalo de sondeo sobre la frecuencia con la que el cliente de caché se comunica con el clúster de caché para las actualizar las notificaciones de los objetos en la memoria caché local. Para ello, cree una instancia de la clase DataCacheNotificationProperties. Configure las opciones de notificación. Para ello, transfiera los valores correspondientes a los parámetros del constructor.
Use el parámetro
PollInterval
para especificar un objeto System.Timespan para el intervalo de frecuencia según el que el cliente de caché comprobará el clúster de caché en búsqueda de notificaciones de caché. Tenga en cuenta que no se requiere memoria caché local para las notificaciones de caché. Para obtener más información, vea Notificaciones de caché (Almacenamiento en caché de AppFabric 1.1).El parámetro
MaxQueueLength
controla la longitud de la cola para ver si hay notificaciones, pero no afecta específicamente a la memoria caché local. El valor predeterminado es 10000.
Cree una instancia de la clase DataCacheFactoryConfiguration.
Configure los hosts de caché. Para ello, asigne la matriz del host de caché del primer paso a la propiedad
Servers
del objeto DataCacheFactoryConfiguration.Configure la memoria caché local. Para ello, asigne el objeto DataCacheLocalCacheProperties creado en el segundo paso a la propiedad
LocalCacheProperties
del objeto DataCacheFactoryConfiguration.En caso necesario, configure las propiedades de notificación. Para ello, asigne el objeto DataCacheNotificationProperties creado en el segundo paso a la propiedad
NotificationProperties
del objeto DataCacheFactoryConfiguration.Transfiera el objeto DataCacheFactoryConfiguration al constructor de la clase DataCacheFactory.
Use el método GetCache para obtener una clase DataCache basada en la configuración del objeto DataCacheFactoryConfiguration.
Nota
Si seleccionó DataCacheLocalCacheInvalidationPolicy.NotificationBased para la directiva de invalidación de caché local, la memoria caché de destino debe estar configurada para tener las notificaciones habilitadas. Para obtener más información, vea Uso de Windows PowerShell para administrar características de almacenamiento en caché de AppFabric 1.1.
Ejemplo
En este ejemplo se muestra la configuración mediante programación de un cliente de caché que tiene la memoria caché local habilitada. Este cliente se configura para usar una memoria caché denominada NamedCache1
y señala a un servidor de caché denominado CacheServer2
. Para usar el ejemplo en la aplicación propia, reemplace las propiedades del servidor en este ejemplo por las de los servidores de caché. Agregue objetos DataCacheServerEndPoint adicionales a la matriz de servidores para cada uno de los demás hosts de caché del clúster.
Especifique los hosts de caché que se designaron como hosts principales. Los hosts principales suelen ser los primeros servidores 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). Puede determinar qué hosts son principales mediante la herramienta de administración de Windows PowerShell. Para obtener más información sobre Windows PowerShell, vea Uso de Windows PowerShell para administrar características de almacenamiento en caché de AppFabric 1.1. En primer lugar, se crea la matriz de servidores. En este ejemplo se configura un host de caché denominado CacheServer2
.
' Declare array for cache host(s).
Dim servers(0) As DataCacheServerEndpoint
servers(0) = New DataCacheServerEndpoint("CacheServer2", 22233)
// Declare array for cache host(s).
DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
servers[0] = new DataCacheServerEndpoint("CacheServer2", 22233);
A continuación, cree un objeto DataCacheLocalCacheProperties. En este ejemplo, la caché local se crea con el número de objetos 10000
y un tiempo de espera de 30
segundos.
' Set the local cache properties. In this example, it
' is timeout-based with a timeout of 30 seconds.
Dim localCacheConfig As DataCacheLocalCacheProperties
Dim localTimeout As TimeSpan = New TimeSpan(0, 0, 30)
localCacheConfig = New DataCacheLocalCacheProperties(10000, _
localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased)
// Set the local cache properties. In this example, it
// is timeout-based with a timeout of 30 seconds.
DataCacheLocalCacheProperties localCacheConfig;
TimeSpan localTimeout = new TimeSpan(0, 0, 30);
localCacheConfig = new DataCacheLocalCacheProperties(10000,
localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased);
A continuación, cree un objeto DataCacheFactoryConfiguration. Asigne la matriz servers
a la propiedad Servers
. Asigne el objeto localCacheConfig
a la propiedad LocalCacheProperties
.
' Setup the DataCacheFactory configuration.
Dim factoryConfig As DataCacheFactoryConfiguration
factoryConfig = New DataCacheFactoryConfiguration
factoryConfig.Servers = servers
factoryConfig.LocalCacheProperties = localCacheConfig
// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig =
new DataCacheFactoryConfiguration();
factoryConfig.Servers = servers;
factoryConfig.LocalCacheProperties = localCacheConfig;
A continuación, transfiera el objeto DataCacheFactoryConfiguration al constructor de clase DataCacheFactory y cree una instancia del cliente de caché con el método GetCache. En este ejemplo se crea un cliente de caché para una memoria caché denominada NamedCache1
.
' Create a configured DataCacheFactory object.
Dim mycacheFactory As DataCacheFactory
mycacheFactory = New DataCacheFactory(factoryConfig)
' Get a cache client for the cache "NamedCache1".
Dim myDefaultCache As DataCache
myDefaultCache = mycacheFactory.GetCache("NamedCache1")
// Create a configured DataCacheFactory object.
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);
// Get a cache client for the cache "NamedCache1".
DataCache myDefaultCache = mycacheFactory.GetCache("NamedCache1");
Nota
Para evitar problemas de rendimiento, es recomendable minimizar el número de objetos DataCacheFactory creados en aplicaciones habilitadas para caché. Almacene el objeto DataCacheFactory en una variable que esté disponible para todas las partes de la aplicación que usen clientes de caché.
Vea también
Conceptos
Introducción al cliente de caché
Modificación del nivel de registro del cliente de caché
Clientes de caché y caché local (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é
Otros recursos
Configuración del cliente caché mediante XML
2012-03-05