public override void ExecuteCmdlet()
        {
            RedisKeyType keyTypeToRegenerated = RedisKeyType.Primary;

            if (KeyType.Equals("Secondary"))
            {
                keyTypeToRegenerated = RedisKeyType.Secondary;
            }

            if (!Force.IsPresent)
            {
                ConfirmAction(
                    Force.IsPresent,
                    string.Format(Resources.RegeneratingRedisCacheKey, Name, keyTypeToRegenerated.ToString()),
                    string.Format(Resources.RegenerateRedisCacheKey, Name, keyTypeToRegenerated.ToString()),
                    Name,
                    () => CacheClient.RegenerateAccessKeys(ResourceGroupName, Name, keyTypeToRegenerated)
                    );
            }
            else
            {
                CacheClient.RegenerateAccessKeys(ResourceGroupName, Name, keyTypeToRegenerated);
            }

            RedisListKeysResult keysResponse = CacheClient.GetAccessKeys(ResourceGroupName, Name);

            WriteObject(new RedisAccessKeys()
            {
                PrimaryKey   = keysResponse.PrimaryKey,
                SecondaryKey = keysResponse.SecondaryKey
            });
        }
        public override void ExecuteCmdlet()
        {
            Utility.ValidateResourceGroupAndResourceName(ResourceGroupName, Name);
            ResourceGroupName = CacheClient.GetResourceGroupNameIfNotProvided(ResourceGroupName, Name);

            RedisKeyType keyTypeToRegenerated = RedisKeyType.Primary;

            if (KeyType.Equals("Secondary"))
            {
                keyTypeToRegenerated = RedisKeyType.Secondary;
            }

            ConfirmAction(
                Force.IsPresent,
                string.Format(Resources.RegeneratingRedisCacheKey, Name, keyTypeToRegenerated.ToString()),
                string.Format(Resources.RegenerateRedisCacheKey, Name, keyTypeToRegenerated.ToString()),
                Name,
                () =>
            {
                CacheClient.RegenerateAccessKeys(ResourceGroupName, Name, keyTypeToRegenerated);
                RedisAccessKeys keysResponse = CacheClient.GetAccessKeys(ResourceGroupName, Name);
                WriteObject(keysResponse);
            }
                );
        }
Ejemplo n.º 3
0
        private void treeKeys_AfterSelect(object sender, TreeViewEventArgs e)
        {
            string key         = GetFullKey(e.Node);
            bool   containsKey = RedisClient.ContainsKey(key);

            if (containsKey)
            {
                this.table.Clear();
                this.txtHashKey.Text = this.txtHashValue.Text = string.Empty;

                RedisKeyType keyType = RedisClient.GetEntryType(key);
                this.lblKey.Text = keyType.ToString();
                this.txtKey.Text = key;
                int row = 0;
                switch (keyType)
                {
                case RedisKeyType.Hash:
                    this.gridHash.Visible   = true;
                    this.column_key.Visible = this.column_value.Visible = true;
                    var hash = RedisClient.GetAllEntriesFromHash(key);
                    foreach (var item in hash)
                    {
                        table.Rows.Add(row + 1, item.Key, item.Value);
                        row++;
                    }
                    break;

                case RedisKeyType.List:
                    this.gridHash.Visible     = true;
                    this.column_key.Visible   = false;
                    this.column_value.Visible = true;
                    var list = RedisClient.GetAllItemsFromList(key);
                    for (; row < list.Count; row++)
                    {
                        table.Rows.Add(row + 1, "", list[row]);
                    }
                    break;

                case RedisKeyType.None:
                    break;

                case RedisKeyType.Set:
                    this.gridHash.Visible     = true;
                    this.column_key.Visible   = true;
                    this.column_value.Visible = false;
                    var set = RedisClient.GetAllItemsFromSet(key);
                    foreach (var item in set)
                    {
                        table.Rows.Add(row + 1, item, "");
                        row++;
                    }
                    break;

                case RedisKeyType.SortedSet:
                    this.gridHash.Visible = true;
                    var sortedSet = RedisClient.GetAllWithScoresFromSortedSet(key);
                    foreach (var item in sortedSet)
                    {
                        table.Rows.Add(row + 1, item.Key, item.Value);
                        row++;
                    }
                    break;

                case RedisKeyType.String:
                    this.txtHashValue.Text = RedisClient.GetValue(key);
                    break;

                default:
                    break;
                }
            }
        }