public void Set(string key, object value, ICacheEntryOptions options) { DateTime ExpireAt = DateTime.Now.AddTicks(CacheEntryOptions.Expiration.Never.AbsoluteExpirationRelativeToNow.Value.Ticks); if (options != null) { if (options.AbsoluteExpiration != null) { ExpireAt = options.AbsoluteExpiration.Value.DateTime; } else if (options.AbsoluteExpirationRelativeToNow != null) { ExpireAt = DateTime.Now.AddTicks(options.AbsoluteExpirationRelativeToNow.Value.Ticks); } else if (options.SlidingExpiration != null) { ExpireAt = DateTime.Now.AddTicks(options.SlidingExpiration.Value.Ticks); } } _client.Store(Enyim.Caching.Memcached.StoreMode.Set, key, value, ExpireAt); if (key != _keyCollection && !Keys.Contains(key)) { SyncKeys(Keys.Append(key).ToHashSet <string>()); } }
public static DistributedCacheEntryOptions Map <T>(this ICacheEntryOptions <T> source) where T : IBaseRequest { return(new DistributedCacheEntryOptions() { AbsoluteExpiration = source.AbsoluteExpiration, AbsoluteExpirationRelativeToNow = source.AbsoluteExpirationRelativeToNow, SlidingExpiration = source.SlidingExpiration }); }
public void Set(string key, object value, ICacheEntryOptions options) { var _options = new MemoryCacheEntryOptions() { AbsoluteExpiration = options.AbsoluteExpiration, AbsoluteExpirationRelativeToNow = options.AbsoluteExpirationRelativeToNow, SlidingExpiration = options.SlidingExpiration }; _options.AddExpirationToken(new CancellationChangeToken(_resetCacheToken.Token)); _client.Set(key, value, _options); _keys.Add(key); }
public void Set(string key, object value, ICacheEntryOptions options) { var _options = new DistributedCacheEntryOptions(); if (options != null) { _options.AbsoluteExpiration = options.AbsoluteExpiration; _options.AbsoluteExpirationRelativeToNow = options.AbsoluteExpirationRelativeToNow; _options.SlidingExpiration = options.SlidingExpiration; } _client.Set(key, Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), _options); if (key != _keyCollection && !Keys.Contains(key)) { SyncKeys(Keys.Append(key).ToHashSet <string>()); } }
public CachingPipelineBehavior(ICacheEntryOptions <TRequest> cachableModelConfig, IDistributedCache distributedCache, ISerializer serializer) { _cachableModelConfig = cachableModelConfig; _distributedCache = distributedCache; _serializer = serializer; }