Esempio n. 1
0
        public async Task <T> GetValueAsync(string key)
        {
            try
            {
                if (_useRedisCache == false || _dataCache == null)
                {
                    T memdata;
                    _memoryCache.TryGetValue(key, out memdata);
                    return(memdata);
                }


                var data = await _dataCache.HashGetAsync(_dictionaryName, key, flags : CommandFlags.PreferSlave);

                if (string.IsNullOrEmpty(data))
                {
                    return(default(T));
                }

                return(await _serializer.DeserializeAsync <T>(data));
            }
            catch (Exception)
            {
                return(default(T));
            }
        }
        private async Task <T> GetRedisData <T>(string key)
        {
            if (_rediscache == null)
            {
                return(default(T));
            }

            try
            {
                var version = await _rediscache.HashGetAsync(key, "Data", flags : CommandFlags.PreferSlave);

                if (!version.HasValue)
                {
                    return(default(T));
                }

                return(await _serializer.DeserializeAsync <T>(version));
            }
            catch (Exception)
            {
            }
            return(default(T));
        }