Activation du cache local d'AppFabric 1.1
Microsoft AppFabric 1.1 pour Windows Server permet de configurer le client de cache par programme ou à l'aide d'un fichier de configuration d'application. Les procédures suivantes décrivent l'activation du cache local sur votre client de cache par programme. Pour plus d'informations sur l'exécution de ces procédures à l'aide d'un fichier de configuration d'application, consultez la rubrique Activation du cache local (XML).
Les étapes suivantes décrivent le processus d'activation du cache local pour votre client de cache par programme :
Créez une instance de la classe DataCacheLocalCacheProperties. Configurez le cache local en transmettant les valeurs appropriées aux paramètres du constructeur (objectCount, defaultTimeout et invalidationPolicy).
Transmettez l'objet DataCacheLocalCacheProperties au constructeur d'un nouvel objet DataCacheFactory.
Utilisez l'objet DataCacheFactory pour appeler la méthode GetCache et créer un client de cache utilisant le cache local.
Avertissement
Ces procédures partent du principe que vous avez déjà préparé votre environnement de développement et défini les références aux assemblys de Mise en cache d'AppFabric. Pour plus d'informations, consultez la rubrique Préparation de l'environnement de développement du client de cache (mise en cache d'AppFabric 1.1).
Création d'un client de cache dont le cache local est activé
Créez un tableau d'objets DataCacheServerEndpoint pour spécifier les hôtes de cache du client.
Créez une instance de la classe DataCacheLocalCacheProperties. Configurez le cache local en transmettant les valeurs appropriées aux paramètres du constructeur
Utilisez le paramètre
objectCount
pour spécifier le nombre maximal d'objets dans le cache local.Utilisez le paramètre
defaultTimeout
pour spécifier un objet System.TimeSpan déterminant le délai pendant lequel un objet est conservé dans le cache local avant d'être invalidé.Utilisez le paramètre
invalidationPolicy
pour spécifier le mode d'invalidation des objets mis en cache localement. Spécifiez la valeur DataCacheLocalCacheInvalidationPolicy.TimeoutBased pour indiquer que la seule valeur de délai d'expiration doit être utilisée. Spécifiez la valeur DataCacheLocalCacheInvalidationPolicy.NotificationBased pour définir l'utilisation des notifications de cache en plus des délais d'expiration. Pour plus d'informations, consultez la rubrique Clients de cache et cache local (mise en cache d'AppFabric 1.1).
Si vous avez sélectionné la valeur DataCacheLocalCacheInvalidationPolicy.NotificationBased pour la stratégie d'invalidation, vous pouvez également contrôler l'intervalle d'interrogation définissant la fréquence à laquelle le client communique avec le cluster de cache pour obtenir les notifications de mise à jour des objets mis en cache localement. Pour ce faire, créez une instance de la classe DataCacheNotificationProperties. Configurez les paramètres de notification en transmettant les valeurs appropriées aux paramètres du constructeur.
Utilisez le paramètre
PollInterval
pour spécifier un objet System.Timespan définissant la fréquence à laquelle le client de cache vérifie la présence de notifications de cache auprès du cluster de cache. Notez que le cache local n'est pas requis pour les notifications de cache. Pour plus d'informations, consultez la rubrique Notifications de cache (mise en cache d'AppFabric 1.1).Le paramètre
MaxQueueLength
contrôle la longueur de la file d'attente des notifications mais n'affecte pas le cache local. La valeur par défaut est 10000.
Créez une instance de la classe DataCacheFactoryConfiguration.
Configurez vos hôtes de cache en affectant le tableau d'hôtes de cache créé lors de la première étape à la propriété
Servers
de l'objet DataCacheFactoryConfiguration.Configurez le cache local en affectant l'objet DataCacheLocalCacheProperties créé lors de la deuxième étape à la propriété
LocalCacheProperties
de l'objet DataCacheFactoryConfiguration.Le cas échéant, configurez les propriétés de notification en affectant l'objet DataCacheLocalCacheProperties créé lors de la troisième étape à la propriété
NotificationProperties
de l'objet DataCacheFactoryConfiguration.Transmettez l'objet DataCacheFactoryConfiguration au constructeur de la classe DataCacheFactory.
Utilisez la méthode GetCache pour obtenir une classe DataCache basée sur les paramètres de l'objet DataCacheFactoryConfiguration.
Notes
Si vous avez sélectionné la valeur DataCacheLocalCacheInvalidationPolicy.NotificationBased pour la stratégie d'invalidation du cache local, les notifications doivent être activées sur le cache cible. Pour plus d’informations, consultez la rubrique Utilisation de Windows PowerShell pour la gestion des fonctionnalités de mise en cache d'AppFabric 1.1.
Exemple
Cet exemple montre la configuration par programme d'un client de cache pour lequel le cache local est activé. Ce client est configuré pour utiliser le cache NamedCache1
et pointer vers le serveur de cache CacheServer2
. Pour utiliser cet exemple dans votre application, remplacez les propriétés du serveur dans l'exemple par celles de votre ou vos serveurs de cache. Ajoutez d'autres objets DataCacheServerEndPoint au tableau servers pour chacun des autres hôtes de cache dans le cluster.
Spécifiez les hôtes de cache désignés comme hôtes principaux. Les hôtes principaux sont généralement les premiers serveurs de cache installés dans le cluster. Pour plus d'informations sur les hôtes principaux, consultez la rubrique Diagramme de l'architecture physique de mise en cache d'AppFabric (mise en cache d'AppFabric 1.1). Vous pouvez identifier les hôtes principaux à l'aide de l'outil d'administration Windows PowerShell. Pour plus d'informations sur Windows PowerShell, consultez la rubrique Utilisation de Windows PowerShell pour la gestion des fonctionnalités de mise en cache d'AppFabric 1.1. Commencez par créer le tableau de serveurs. Cet exemple décrit la configuration de l'hôte de cache 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);
Créez un objet DataCacheLocalCacheProperties. Dans cet exemple, le cache local est créé avec 10000
objets et un délai d'expiration de 30
secondes.
' 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);
Créez un objet DataCacheFactoryConfiguration. Affectez le tableau servers
à la propriété Servers
. Affectez l'objet localCacheConfig
à la propriété 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;
Transmettez l'objet DataCacheFactoryConfiguration au constructeur de classe DataCacheFactory et instanciez le client de cache avec la méthode GetCache. Cet exemple crée le client de cache 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");
Notes
Il est recommandé de réduire le nombre d'objets DataCacheFactory créés dans une application prenant en charge le cache afin d'optimiser les performances. Stockez l'objet DataCacheFactory dans une variable accessible à toutes les parties de l'application qui utilisent des clients de cache.
Voir aussi
Concepts
Prise en main du client de cache
Modification du niveau de journalisation du client de cache
Clients de cache et cache local (mise en cache d'AppFabric 1.1)
Concepts relatifs à la mise en cache d'AppFabric (mise en cache d'AppFabric 1.1)
Développement d'un client de cache
Autres ressources
Configuration du client de cache avec XML
2012-03-05