private bool UpdateLastVersion(ConfigQueryResult queryResult)
        {
            lock (_lastVersionLock)
            {
                if (queryResult.Version > _lastVersion)
                {
                    _lastVersion = queryResult.Version;
                    return(true);
                }
            }

            return(false);
        }
Beispiel #2
0
 private void LoadIntoMemory(ConfigQueryResult configQueryResult)
 {
     if (!configQueryResult.Exists)
     {
         Data = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);
         return;
     }
     else
     {
         IDictionary <string, string> parsedData = _source.Parser.Parse(configQueryResult.Value);
         Data = new Dictionary <string, string>(parsedData, StringComparer.OrdinalIgnoreCase);
     }
 }
        private async Task <ConfigQueryResult> GetConfigValue() => await Task.Run(() =>
        {
            var manager = new RedisManagerPool(_source.Server);
            using (var client = manager.GetClient())
            {
                var result = new ConfigQueryResult();

                if (!client.ContainsKey(_source.Key))
                {
                    result.Exists = false;
                    return(result);
                }

                result.Exists = true;

                result.Value   = client.Get <string>(_source.Key);
                result.Version = client.Get <int>($"{_source.Key}{_configValueVersionPostfix}");
                return(result);
            }
        });