2016-12-21 2 views
1

J'essaie de définir une politique d'expiration globale à un cache Ignite mais cela ne fonctionne pas, toutes les entrées sont toujours là même après la valeur du délai d'expiration. Voilà comment je suis mise en œuvre:.NET Politique d'expiration du cache d'allumage ne fonctionne pas

var igniteCache = this.igniteInstance.GetOrCreateCache<string, object>(configuraton); 

var expiringTime = TimeSpan.FromSeconds(100); 
igniteCache.WithExpiryPolicy(new ExpiryPolicy(expiringTime, expiringTime, expiringTime)); 

igniteCache.Put(key, value); 

Qu'est-ce que je fais mal?

Répondre

1

WithExpiryPolicy retourne une nouvelle instance de cache, vous devez l'utiliser pour insérer des entrées avec l'expiration:

var igniteCacheExpiry = igniteCache.WithExpiryPolicy(new ExpiryPolicy(expiringTime, expiringTime, expiringTime)); 

igniteCacheExpiry.Put(key, value) 
+0

Merci! Cette stratégie d'expiration est-elle valide pour l'intégralité du cache ou uniquement pour l'entrée clé/valeur? – Federico

+0

La stratégie d'expiration a un effet sur toutes les opérations pertinentes de l'instance ICache renvoyée. Vous pouvez également définir une stratégie d'expiration globale pour un cache via 'CacheConfiguration.ExpiryPolicyFactory'. –