private bool UpdateLastVersion(ConfigQueryResult queryResult) { lock (_lastVersionLock) { if (queryResult.Version > _lastVersion) { _lastVersion = queryResult.Version; return(true); } } return(false); }
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); } });