private void saveKeyValue(string key, string newKey, string value) { Debug.WriteLine("key:" + key + ",value:" + value); try { if (currentRedisDatabase == null || currentRedisKey == null) { return; } CSRedis.RedisClient redisClient = currentRedisDatabase.ParentServer.RedisClient; redisClient.Call("SELECT " + currentRedisDatabase.Id); if (string.IsNullOrEmpty(newKey)) { redisClient.Set(key, value); } else { redisClient.Rename(key, newKey); redisClient.Set(newKey, value); getKeys(currentRedisDatabase); } MessageBox.Show("set successfly", "success", MessageBoxButton.OK, MessageBoxImage.Asterisk); } catch (Exception e) { log.Error("save faild:" + e.Message); } }
/// <summary> /// get keys list /// </summary> /// <param name="redisDatabase"></param> private void getKeys(RedisDatabase redisDatabase) { CSRedis.RedisClient redisClient = redisDatabase.ParentServer.RedisClient; redisClient.Call("SELECT " + redisDatabase.Id); string[] keys = redisClient.Keys(redisDatabase.ParentServer.Connection.KeyPattern); char[] splits = redisDatabase.ParentServer.Connection.KeySeparator.ToCharArray(); redisDatabase.KeyCount = keys.Length; ObservableCollection <RedisKey> redisKeys = new ObservableCollection <RedisKey>(); if (keys.Length > 0) { Array.Sort(keys); redisKeys = RedisKeyUtils.getSplitKeys(keys, null); } this.Dispatcher.Invoke(new Action(delegate { redisKeysBox.ItemsSource = redisKeys; this.btnAddKey.IsEnabled = true; })); }