コード例 #1
0
        private void 清除所有KeyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode select = treeView1.SelectedNode;

            if (select == null)
            {
                return;
            }
            if (select.ImageKey != "redis_db")
            {
                return;
            }

            if (MessageBox.Show("请确认是否清除当前db块的所有数据,当前的操作不可逆,请谨慎操作。", "删除确认", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
            {
                RedisSettings redisSettings = select.Parent.Tag as RedisSettings;
                if (redisSettings == null)
                {
                    MessageBox.Show("获取当前的Redis配置信息失败!"); return;
                }
                if (redisSettings.Redis == null)
                {
                    MessageBox.Show("获取当前的Redis连接客户端失败!"); return;
                }

                OperateResult flush = redisSettings.Redis.FlushDB( );
                if (!flush.IsSuccess)
                {
                    MessageBox.Show("获取当前的Redis清除数据失败!"); return;
                }
                MessageBox.Show("当前的DB块" + redisSettings.DBBlock + " 清除完成,请手动刷新。");
            }
        }
コード例 #2
0
        private void 新增KeyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode select = treeView1.SelectedNode;

            if (select == null)
            {
                return;
            }
            if (select.ImageKey != "redis_db")
            {
                return;
            }

            RedisSettings redisSettings = select.Parent.Tag as RedisSettings;

            if (redisSettings == null)
            {
                MessageBox.Show("获取当前的Redis配置信息失败!"); return;
            }
            if (redisSettings.Redis == null)
            {
                MessageBox.Show("获取当前的Redis连接客户端失败!"); return;
            }

            using (FormRedisInput redisInput = new FormRedisInput(redisSettings.Redis))
            {
                redisInput.ShowDialog( );
            }
        }
コード例 #3
0
 public StringValueEditForm(RedisSettings settings, string key, string value)
 {
     InitializeComponent( );
     this.redisSettings = settings;
     this.key           = key;
     this.value         = value;
 }
コード例 #4
0
 public HashValueEditForm(RedisSettings settings, string key, string field, string value)
 {
     InitializeComponent( );
     this.redisSettings = settings;
     this.key           = key;
     this.field         = field;
     this.value         = value;
 }
コード例 #5
0
 public ListValueEditForm(RedisSettings settings, string key, int index, string value)
 {
     InitializeComponent( );
     this.redisSettings = settings;
     this.key           = key;
     this.index         = index;
     this.value         = value;
 }
コード例 #6
0
        public void SetNewKey(RedisSettings redisSettings, string key)
        {
            this.redisSettings = redisSettings;
            this.stringKeyName = key;

            keyOperateControl1.SetRedisClient(redisSettings.Redis, key);
            RefreshKey( );
        }
コード例 #7
0
        private void ZSetKeySelect(RedisSettings redis, string key)
        {
            if (userControl == null || (userControl as ZSetValueControl) == null)
            {
                CreateRedisShowTagControl <ZSetValueControl>( );
            }

            if (userControl is ZSetValueControl setValueControl)
            {
                setValueControl.SetNewKey(redis, key);
            }
        }
コード例 #8
0
        private void HashKeySelect(RedisSettings redis, string key)
        {
            if (userControl == null || (userControl as HashValueControl) == null)
            {
                CreateRedisShowTagControl <HashValueControl>( );
            }

            if (userControl is HashValueControl hashValueControl)
            {
                hashValueControl.SetNewKey(redis, key);
            }
        }
コード例 #9
0
        public void SetNewKey(RedisSettings redisClient, string key)
        {
            if (key != this.stringKeyName)
            {
                valueControl1.SetValue(string.Empty);
            }

            this.redisClient   = redisClient;
            this.stringKeyName = key;

            keyOperateControl1.SetRedisClient(redisClient.Redis, key);
            RefreshKey( );
        }
コード例 #10
0
        public FormRedisAdd(RedisSettings redisSettings)
        {
            InitializeComponent( );
            settings = redisSettings ?? new RedisSettings( )
            {
                IpAddress = "127.0.0.1",
                Port      = 6379,
                Password  = string.Empty
            };

            if (redisSettings != null)
            {
                textBox4.ReadOnly = true;
            }
        }
コード例 #11
0
 public SetValueInsertForm(RedisSettings settings, string key)
 {
     InitializeComponent( );
     this.redisSettings = settings;
     this.key           = key;
 }
コード例 #12
0
        private void RefreshDbKeys(TreeNode select, bool reload = false)
        {
            if (select.Tag is DbSettings dbSettings)
            {
                RedisSettings redisSettings = select.Parent.Tag as RedisSettings;
                int           dbBlock       = dbSettings.DBNumber;

                if (redisSettings == null)
                {
                    MessageBox.Show("获取当前的Redis配置信息失败!"); return;
                }
                if (redisSettings.Redis == null)
                {
                    MessageBox.Show("获取当前的Redis连接客户端失败!"); return;
                }

                if (reload)
                {
                    select.Nodes.Clear( );
                }

                // 如果没有子节点就加载数据信息
                if (select.Nodes.Count == 0)
                {
                    // 切换当前实际选择的db块号
                    int dbBlockOld = redisSettings.DBBlock;
                    if (redisSettings.DBBlock != dbBlock)
                    {
                        OperateResult selectDb = redisSettings.Redis.SelectDB(dbBlock);
                        if (!selectDb.IsSuccess)
                        {
                            MessageBox.Show($"当前客户端[{redisSettings.Name}] 切换DB{dbBlock} 失败!"); return;
                        }

                        redisSettings.DBBlock = dbBlock;
                    }

                    OperateResult <string[]> reads = redisSettings.Redis.ReadAllKeys(dbSettings.Filter);
                    if (!reads.IsSuccess)
                    {
                        MessageBox.Show("遍历所有的节点信息失败!"); return;
                    }

                    // 重新更新db块的数据信息
                    if (dbSettings.Filter == "*")
                    {
                        select.Text = $"db{dbBlock} ({reads.Content.Length})";
                    }
                    else
                    {
                        select.Text = $"db{dbBlock} ({reads.Content.Length}) [{dbSettings.Filter}]";
                    }

                    // 填充tree
                    foreach (var item in reads.Content)
                    {
                        AddTreeNode(select, redisSettings.Redis, item, item);
                    }

                    // 如果db块发生了切换,则切换回去
                    if (dbBlockOld != redisSettings.DBBlock)
                    {
                        OperateResult selectDb = redisSettings.Redis.SelectDB(dbBlockOld);
                        if (!selectDb.IsSuccess)
                        {
                            MessageBox.Show($"当前客户端[{redisSettings.Name}] 切换回DB{dbBlockOld} 失败!"); return;
                        }

                        redisSettings.DBBlock = dbBlockOld;
                    }
                }

                select.Expand( );
            }
        }
コード例 #13
0
 /// <summary>
 /// 设置当前的连接对象信息
 /// </summary>
 /// <param name="settings"></param>
 public void SetRedis(RedisSettings settings)
 {
     this.redisSettings = settings;
 }