Beispiel #1
0
        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);
            }
        }
Beispiel #3
0
        /// <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));
 }