public T GetOrPut <T>(string key, Func <T> func, CacheExpiryTime cacheExpiryTime) where T : class { if (func == null) { throw new ArgumentNullException(nameof(func)); } var result = this.Get <T>(key) as T; if (result != null) { return(result); } result = func.Invoke(); MemoryCache.Default.Add(key, result, DateTime.Now.AddSeconds((int)cacheExpiryTime)); return(result); }
public async Task SetAsync <T>(string key, T item, CacheExpiryTime cacheExpiryTime = CacheExpiryTime.Small) { key = GenerateCacheKey <T>(key); _cache.Value.Set(key, JsonConvert.SerializeObject(item), TimeSpan.FromHours((int)cacheExpiryTime)); await Task.CompletedTask; }
public async Task SetAsync <T>(string key, T item, CacheExpiryTime cacheExpiryTime = CacheExpiryTime.Small) { await SetCustomValueAsync(key, item, TimeSpan.FromMinutes((int)cacheExpiryTime)); }
public void Put <T>(string key, T item, CacheExpiryTime cacheExpiryTime) { MemoryCache.Default.Add(key, item, DateTime.Now.AddSeconds((int)cacheExpiryTime)); }