Partager via


Activation du cache local de Windows Server AppFabric

Windows Server AppFabric 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 de Windows Server AppFabric (XML).

Les étapes suivantes décrivent le processus d'activation du cache local pour votre client de cache par programme :

  1. 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).

  2. Transmettez l'objet DataCacheLocalCacheProperties au constructeur d'un nouvel objet DataCacheFactory.

  3. 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 de Windows Server AppFabric).

Création d'un client de cache dont le cache local est activé

  1. Créez un tableau d'objets DataCacheServerEndpoint pour spécifier les hôtes de cache du client.

  2. Créez une instance de la classe DataCacheLocalCacheProperties. Configurez le cache local en transmettant les valeurs appropriées aux paramètres du constructeur

    1. Utilisez le paramètre objectCount pour spécifier le nombre maximal d'objets dans le cache local.

    2. 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é.

    3. 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 de Windows Server AppFabric).

  3. 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.

    1. 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 du cache (mise en cache de Windows Server AppFabric).

    2. 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 16384.

  4. Créez une instance de la classe DataCacheFactoryConfiguration.

  5. 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.

  6. Configurez le cache local en affectant l'objet DataCacheLocalCacheProperties créé lors de la deuxième étape à la propriété LocalCacheProperties de l'objet DataCacheFactoryConfiguration.

  7. 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.

  8. Transmettez l'objet DataCacheFactoryConfiguration au constructeur de la classe DataCacheFactory.

  9. 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 de Windows Server AppFabric.

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 de Windows Server AppFabric. 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 de Windows Server AppFabric. 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 d'un client de cache de Windows Server AppFabric
Modification du niveau de journalisation du client de cache (mise en cache de Windows Server AppFabric)
Clients de cache et cache local (mise en cache de Windows Server AppFabric)
Concepts relatifs à la mise en cache de Windows Server AppFabric
Développement d'un client de cache (mise en cache de Windows Server AppFabric)

Autres ressources

Configuration du client de cache avec XML

  2011-12-05