using System;
using System.Collections.Generic;
using System.Text;

namespace Admin.Core.Common
{
    /// <summary>
    /// Reids相关视图
    /// </summary>
    public class RedisServerView
    {
        /// <summary>
        /// 服务器信息
        /// </summary>
        public string Server { get; set; }

        /// <summary>
        /// 节点信息
        /// </summary>
        public List<string> Points { get; set; } = new List<string>();

        /// <summary>
        /// 节点与Key信息
        /// </summary>
        public List<Pointkey> Pointkeys { get; set; } = new List<Pointkey>();
    }

    public class RedisKeyView
    {
        /// <summary>
        /// 服务器信息
        /// </summary>
        public string Server { get; set; }

        /// <summary>
        /// 节点信息
        /// </summary>
        public string Point { get; set; }

        /// <summary>
        /// Key信息
        /// </summary>
        public string Key { get; set; }
    }

    /// <summary>
    /// 节点状态
    /// </summary>
    public class PointStatus
    {
        /// <summary>
        /// 服务器信息
        /// </summary>
        public string Server { get; set; }

        /// <summary>
        /// 节点信息
        /// </summary>
        public string Point { get; set; }

        /// <summary>
        /// 状态信息:是否正常连接并可用
        /// </summary>
        public bool Normal { get; set; }

        /// <summary>
        /// 缓存Key数量
        /// </summary>
        public int KeyN { get; set; }
    }

    /// <summary>
    /// 节点与Key信息
    /// </summary>
    public class Pointkey
    {
        /// <summary>
        /// 节点信息
        /// </summary>
        public string Point { get; set; }

        /// <summary>
        /// Key信息
        /// </summary>
        public List<string> Key { get; set; } = new List<string>();
    }

    public class RedisBaseView
    {
        /// <summary>
        /// 版本号
        /// </summary>
        public string redis_version { get; set; }

        /// <summary>
        /// 运行模式:单机/群集
        /// </summary>
        public string redis_mode { get; set; }

        /// <summary>
        /// 客户端数
        /// </summary>
        public string connected_clients { get; set; }

        /// <summary>
        /// 运行时间(天)
        /// </summary>
        public string uptime_in_days { get; set; }

        /// <summary>
        /// 使用CPU
        /// </summary>
        public string used_cpu_user_children { get; set; }

        /// <summary>
        /// 内存配置
        /// </summary>
        public string maxmemory_human { get; set; }

        /// <summary>
        /// AOF是否开启
        /// </summary>
        public string aof_enabled { get; set; }

        /// <summary>
        /// RDB是否成功
        /// </summary>
        public string rdb_last_bgsave_status { get; set; }

        /// <summary>
        /// Key数量
        /// </summary>
        public string dbSize { get; set; }

        /// <summary>
        /// 网络入口
        /// </summary>
        public string instantaneous_input_kbps { get; set; }

        /// <summary>
        /// 网络出口
        /// </summary>
        public string instantaneous_output_kbps { get; set; }
    }


}