2

I am trying to set a global expiring policy to a Ignite cache but it doesn't work, all the entries are still there even after the timeout value. This is how I am implementing it:

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

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

igniteCache.Put(key, value);

What am I doing wrong?

Federico
  • 333
  • 1
  • 4
  • 19

1 Answers1

2

WithExpiryPolicy returns a new cache instance, you should use it to insert entries with expiration:

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

igniteCacheExpiry.Put(key, value)
Pavel Tupitsyn
  • 8,393
  • 3
  • 22
  • 44
  • Thanks! Is this expiry policy valid for the entire cache or just the key/value entry? – Federico Dec 21 '16 at 16:10
  • Expiry policy has effect on all relevant operations of returned ICache instance. You can also set global expiry policy for a cache via `CacheConfiguration.ExpiryPolicyFactory`. – Pavel Tupitsyn Dec 21 '16 at 16:16