Example #1
0
        public async Task <ResultData> EditRedisDevInfo([FromBody] RedisDataModel model)
        {
            try
            {
                if (model.TTLTime <= DateTime.Now)
                {
                    return(ResultData.CreateResult("-1", "TTL过期时间不能早于当前日期", null));
                }
                string redisConn = await GetRedisDBAddr(model.RedisAddr);

                RedisHelper redisHelper = new RedisHelper(redisConn);
                var         timeSpan    = model.TTLTime - DateTime.Now;
                var         result      = await redisHelper.Set(model.Type, model.Key, model.Value, timeSpan, model.RedisDB);

                if (result.Item1)
                {
                    return(ResultData.CreateSuccessResult());
                }
                else
                {
                    return(ResultData.CreateResult("-1", $"修改失败,失败信息为:{result.Item2}", null));
                }
            }
            catch (Exception ex)
            {
                return(ResultData.CreateResult("-1", $"异常信息:{ex.Message}", null));
            }
        }
Example #2
0
        public async Task <IActionResult> EditRedisDevInfo(string redisaddr, int redisdb, string searchkey)
        {
            ViewBag.RedisAddr = redisaddr;
            ViewBag.RedisDB   = redisdb;
            string redisConn = await GetRedisDBAddr(redisaddr);

            RedisHelper    redisHelper    = new RedisHelper(redisConn);
            RedisDataModel redisDataModel = new RedisDataModel();

            redisDataModel.Type  = "String";
            redisDataModel.Key   = searchkey;
            redisDataModel.Value = redisHelper.GetValue(searchkey, redisdb);
            TimeSpan?time = redisHelper.GetExpireTime(searchkey, redisdb);

            if (time == null)
            {
                redisDataModel.TTLTime = null;
            }
            else
            {
                redisDataModel.TTLTime = DateTime.Now.Add((TimeSpan)time);
            }
            return(View(redisDataModel));
        }
Example #3
0
        /// <summary>
        /// 获取全部的键
        /// </summary>
        /// <returns></returns>
        //public List<RedisDataModel> GetAllKeys()
        //{
        //    List<RedisKey> redisKeys = new List<RedisKey>();
        //    foreach (var endPoint in this.GetRedisConnection().GetEndPoints())
        //    {
        //        var server = this.GetRedisConnection().GetServer(endPoint);
        //        if (!server.IsReplica)
        //        {
        //            redisKeys.AddRange(server.Keys());
        //        }
        //    }
        //    List<RedisDataModel> models = new List<RedisDataModel>();
        //    foreach (var key in redisKeys)
        //    {
        //        RedisDataModel model = new RedisDataModel();
        //        model.Key = key;
        //        model.Type = this.GetType(key).ToString();
        //        model.TTL = this.GetExpireTime(key);
        //        models.Add(model);
        //    }
        //    return models;
        //}

        /// <summary>
        /// 获取查询的键(模糊查询)
        /// </summary>
        /// <returns></returns>
        public List <RedisDataModel> GetKeys(int db = -1, string pattern = "*")
        {
            List <RedisKey> redisKeys = new List <RedisKey>();

            foreach (var endPoint in this.GetRedisConnection().GetEndPoints())
            {
                var server = this.GetRedisConnection().GetServer(endPoint);
                if (!server.IsReplica)
                {
                    redisKeys.AddRange(server.Keys(db, pattern));
                }
            }
            List <RedisDataModel> models = new List <RedisDataModel>();

            foreach (var key in redisKeys)
            {
                RedisDataModel model = new RedisDataModel();
                model.Key  = key;
                model.Type = this.GetType(key, db).ToString();
                model.TTL  = this.GetTTL(key, db);
                models.Add(model);
            }
            return(models);
        }