public bool IsExist <TValue>(string key, out TValue value) { switch (_CacheOptions.CacheMediaType) { case CacheMediaType.Local: return(MemoryCacheHelper.Exist(key, out value)); case CacheMediaType.Redis: try { var redisResult = GetRedisCacheProvider().Get(key); if (!string.IsNullOrEmpty(redisResult)) { value = JsonConvert.DeserializeObject <TValue>(redisResult); return(true); } } catch (ArgumentException argEx) { throw argEx; } value = default(TValue); return(false); default: value = default(TValue); return(false); } }
public static bool IsExist <TValue>(DbContext dbContext, string key, out TValue value) { switch (dbContext.CacheMediaType) { case CacheMediaType.Local: return(MemoryCacheHelper.Exist(key, out value)); case CacheMediaType.Redis: value = default(TValue); return(false); default: value = default(TValue); return(false); } }
/// <summary> /// Get Configs /// </summary> /// <returns></returns> private static IEnumerable <T> GetConfigs() { //modifyTime reagard as config version DateTime configDbVersion = ModifyTime; //if memory cache exist if (MemoryCacheHelper.Exist(versionCacheKey) && MemoryCacheHelper.Exist(versionCacheKey)) { //if cache version >= db version,cache is available. if (Convert.ToDateTime(MemoryCacheHelper.Get <int, DateTime>(versionCacheKey)) >= configDbVersion) { return(MemoryCacheHelper.Get <int, IEnumerable <T> >(configCacheKey)); } } //if memory cache not exist var dbConfig = GetConfigsFromDb(); MemoryCacheHelper.Put(configCacheKey, dbConfig); MemoryCacheHelper.Put(versionCacheKey, configDbVersion); return(dbConfig); }
public bool IsExist <TValue>(string key, out TValue value) { return(MemoryCacheHelper.Exist <string, TValue>(key, out value)); }