Exemple #1
0
 /// <summary>
 /// 设置缓存过期
 /// </summary>
 /// <param name="key"></param>
 /// <param name="datetime"></param>
 public void Hash_SetExpire(string key, DateTime datetime)
 {
     using (IRedisClient redis = prcms[_path].GetClient())
     {
         redis.ExpireEntryAt(key, datetime);
     }
 }
 /// <summary>
 /// 设置缓存过期
 /// </summary>
 /// <param name="key"></param>
 /// <param name="datetime"></param>
 public static void SortedSet_SetExpire(string key, DateTime datetime)
 {
     using (IRedisClient redis = prcm.GetClient())
     {
         redis.ExpireEntryAt(key, datetime);
     }
 }
 /// <summary>
 /// 设置缓存过期
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="datetime">过期时间</param>
 /// <param name="dbId">库</param>
 public static void SetExpire(string key, DateTime datetime, long dbId = 0)
 {
     using (IRedisClient redis = CreateManager(dbId).GetClient())
     {
         redis.ExpireEntryAt(key, datetime);
     }
 }
Exemple #4
0
 /// <summary>
 /// 添加key/value ,并设置过期时间
 /// </summary>
 public void Add(string key, string value, DateTime dt)
 {
     using (IRedisClient Core = CreateRedisClient())
     {
         Core.AddItemToList(key, value);
         Core.ExpireEntryAt(key, dt);
     }
 }
        public static bool SetCacheKeyExp(string Key, DateTime expiretime)
        {
            IRedisClient Redis = RedisManager.GetClient();
            bool         bok   = Redis.ExpireEntryAt(Key, expiretime);

            Redis.Dispose();
            return(bok);
        }
Exemple #6
0
 /// <summary>
 /// 设置缓存过期
 /// </summary>
 /// <param name="key"></param>
 /// <param name="datetime"></param>
 public static void Hash_SetExpire(string key, DateTime datetime)
 {
     using (IRedisClient redis = prcm.GetClient())
     {
         redis.Password = Constant.RedisPwd;
         redis.ExpireEntryAt(key, datetime);
     }
 }
Exemple #7
0
 /// <summary>
 /// 为key添加多个值,并设置过期时间
 /// </summary>
 public void Add(string key, List <string> values, DateTime dt)
 {
     using (IRedisClient Core = CreateRedisClient())
     {
         Core.AddRangeToList(key, values);
         Core.ExpireEntryAt(key, dt);
     }
 }
        private void CreateNew(DmContainer dc, IRedisClient client)
        {
            var day    = DateTime.Now.ToString("yyyy-MM-dd");
            var geneal = "dm" + day;

            //var time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:dd");
            //var detail = (dc.Dc.RootId + "-" + dc.Dc.Tag ?? string.Empty) + time;
            client.AddItemToSortedSet(geneal, dc.Dc.RootId + "_" + day, DateTime.Now.Ticks);
            client.ExpireEntryAt(geneal, DateTime.Now.AddDays(1).Date);
            client.AddItemToSortedSet(dc.Dc.RootId + "_" + day, dc.ToJson(), DateTime.Now.Ticks);
            client.ExpireEntryAt(geneal, DateTime.Now.AddDays(1).Date);

            //var allItems = client.GetAllItemsFromSortedSet(geneal);
            //foreach (string item in allItems)
            //{
            //    var details = client.GetAllItemsFromSortedSet(item);
            //}
        }
Exemple #9
0
 /// <summary>
 /// 存储数据到hash表
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="key"></param>
 /// <param name="dataKey"></param>
 /// <returns></returns>
 public static bool Hash_Set <T>(string key, string dataKey, T t)
 {
     using (IRedisClient redis = prcm.GetClient())
     {
         string value = ServiceStack.Text.JsonSerializer.SerializeToString <T>(t);
         bool   r     = redis.SetEntryInHash(key, dataKey, value);
         redis.ExpireEntryAt(key + ":" + dataKey, DateTime.Now.AddDays(7));
         return(r);
     }
 }
        /// <summary>
        /// 设置过期时间
        /// </summary>
        /// <param name="redisKey">Key</param>
        /// <param name="dateTime">过期时间</param>
        /// <returns></returns>
        public static bool Expire(string redisKey, DateTime expireDateTime)
        {
            bool result = false;

            using (IRedisClient client = RedisManager.GetClient())
            {
                result = client.ExpireEntryAt(redisKey, expireDateTime);
            }
            return(result);
        }
Exemple #11
0
 public override void ResetItemTimeout(HttpContext context, string id)
 {
     using (IRedisClient redisClient = this.CreateRedisClient())
     {
         SessionItem currentSessionItem = redisClient.Get <SessionItem>(this.GetRedisKey(id));
         if (currentSessionItem != null)
         {
             redisClient.ExpireEntryAt(this.GetRedisKey(id), DateTime.Now.AddMinutes(this.sessionConfigSection.Timeout.TotalMinutes));
         }
     }
 }
Exemple #12
0
 public override void SetItemInList <T>(string listId, int listIndex, T value, DateTime?expireTime)
 {
     using (IRedisClient redis = GetRedisClient())
     {
         redis.SetItemInList(listId, listIndex, JsonConvert.SerializeObject(value, JsonSetting));
         if (expireTime != null && expireTime.Value > DateTime.Now)
         {
             redis.ExpireEntryAt(listId, expireTime.Value);
         }
     }
 }
Exemple #13
0
 public override void RPush <T>(string listId, T value, DateTime?expireTime)
 {
     using (IRedisClient redis = GetRedisClient())
     {
         var strValue = JsonConvert.SerializeObject(value, JsonSetting);
         redis.AddItemToList(listId, strValue);
         if (expireTime != null && expireTime.Value > DateTime.Now)
         {
             redis.ExpireEntryAt(listId, expireTime.Value);
         }
     }
 }
Exemple #14
0
 /// <summary>
 /// 获取自增数据
 /// 平扬
 /// 2015年4月9日 09:18:02
 /// </summary>
 /// <param name="key">键</param>
 /// <param name="expiredTime">生命周期</param>
 /// <returns>自增值</returns>
 public long Incr(string key, DateTime expiredTime)
 {
     using (IRedisClient Redis = RedisManager.GetClient())
     {
         long tempNum = Redis.IncrementValue(key);
         if (expiredTime != null)
         {
             Redis.ExpireEntryAt(key, expiredTime);
         }
         return(tempNum);
     }
 }
Exemple #15
0
 /// <summary>
 /// 设置缓存过期
 /// </summary>
 /// <param name="key"></param>
 /// <param name="datetime"></param>
 public void List_SetExpire(string key, DateTime datetime)
 {
     if (prcm != null)
     {
         using (IRedisClient redis = prcm.GetClient())
         {
             if (redis != null)
             {
                 redis.ExpireEntryAt(key, datetime);
             }
         }
     }
 }
Exemple #16
0
        /// <summary>
        /// 把未阅读的消息,进行缓存处理
        /// 2015-10-08 吉日嘎拉 优化代码
        /// </summary>
        /// <param name="entity">消息</param>
        public void CacheProcessing(IRedisClient redisClient, BaseMessageEntity entity, DateTime?expireAt = null)
        {
            // 需要把消息本身放一份在缓存服务器里
            if (entity != null)
            {
                SetCache(redisClient, entity);

                if (!string.IsNullOrEmpty(entity.ReceiverId))
                {
                    // 把消息的主键放在有序集合里, 尽量存放小数字,不要太长了
                    redisClient.AddItemToSortedSet(entity.ReceiverId, entity.Id, entity.CreateOn.Value.Ticks - (new DateTime(2015, 10, 1)).Ticks);
                }
                if (!string.IsNullOrEmpty(entity.CreateUserId))
                {
                    if (!expireAt.HasValue)
                    {
                        expireAt = DateTime.Now.AddDays(15);
                    }
                    // 设置一个需要阅读的标志(过期时间)
                    redisClient.ExpireEntryAt(entity.CreateUserId, expireAt.Value);
                }

                if (!string.IsNullOrEmpty(entity.CreateUserId))
                {
                    // 设置一个最近联络人标注,把最近联系人放在有序集合里(过期时间)
                    // 设置过期时间,防止长时间不能释放
                    redisClient.AddItemToSortedSet("r" + entity.CreateUserId, entity.ReceiverId, entity.CreateOn.Value.Ticks - (new DateTime(2015, 10, 1)).Ticks);
                    redisClient.ExpireEntryAt("r" + entity.CreateUserId, DateTime.Now.AddDays(15));
                }

                if (!string.IsNullOrEmpty(entity.ReceiverId))
                {
                    redisClient.AddItemToSortedSet("r" + entity.ReceiverId, entity.CreateUserId, entity.CreateOn.Value.Ticks - (new DateTime(2015, 10, 1)).Ticks);
                    redisClient.ExpireEntryAt("r" + entity.ReceiverId, DateTime.Now.AddDays(15));
                }

                // 把多余的数据删除掉,没必要放太多的历史数据,最近联系人列表里
            }
        }
Exemple #17
0
        public static void SetExpire(string key, int timeout)
        {
            IRedisClient client = pool.GetClient();

            try
            {
                client.ExpireEntryAt(key, DateTime.Now.AddMinutes(timeout));
            }
            finally
            {
                client.Dispose();
            }
        }
Exemple #18
0
 /// <summary>
 /// 设置缓存过期
 /// </summary>
 /// <param name="key"></param>
 /// <param name="datetime"></param>
 public static void SetExpireSortedSet(string key, DateTime datetime)
 {
     try
     {
         using (IRedisClient redis = prcm.GetClient())
         {
             redis.ExpireEntryAt(key, datetime);
         }
     }
     catch (Exception ex)
     {
         LoggerHelper.Error(ex.ToString());
     }
 }
Exemple #19
0
        /// <summary>
        /// 按实体缓存承包区 宋彪
        /// </summary>
        /// <param name="redisClient"></param>
        /// <param name="score"></param>
        /// <param name="departmentEntity"></param>
        public static void CacheContractAreaPreheatingSpelling(IRedisClient redisClient, BaseDepartmentEntity departmentEntity, double score = 0)
        {
            // 承包区主管id字段不可为空,对应的是用户的Id
            if (!string.IsNullOrWhiteSpace(departmentEntity.ManagerId))
            {
                string contractArea = departmentEntity.ManagerId + ";" + departmentEntity.Code + ";" + departmentEntity.FullName;
                string key          = string.Empty;
                // 01:所有承包区查询的缓存数据方法  编号是按网点code生成 至少输入4个编号才返回查询结果
                for (int i = 4; i <= departmentEntity.Code.Length; i++)
                {
                    key = "ContractArea:" + departmentEntity.CompanyId + ":" + departmentEntity.Code.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, contractArea, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }

                // 02:按承包区名字查询的缓存
                for (int i = 1; i <= departmentEntity.FullName.Length; i++)
                {
                    key = "ContractArea:" + departmentEntity.CompanyId + ":" + departmentEntity.FullName.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, contractArea, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
            }
        }
Exemple #20
0
 /// <summary>
 /// 向redis中添加一条数据
 /// </summary>
 /// <typeparam name="T">类型</typeparam>
 /// <param name="key">键</param>
 /// <param name="t">对象</param>
 /// <param name="expireTime">过期时间</param>
 public void AddValueToRedis <T>(string key, T t, DateTime?expireTime)
 {
     try
     {
         using (IRedisClient client = RedisManager.GetRedisWriteClient())
         {
             client.Add <T>(key, t);
             if (expireTime.HasValue)
             {
                 client.ExpireEntryAt(key, expireTime.Value);
             }
         }
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog <T>(this.GetType(), "AddValueToRedis;键:" + key + "", "鲍晨", t, ex);
     }
 }
Exemple #21
0
 public override void RPushList <T>(string listId, List <T> values, DateTime?expireTime)
 {
     using (IRedisClient redis = GetRedisClient())
     {
         List <string> lststr = new List <string>();
         foreach (var value in values)
         {
             var strValue = JsonConvert.SerializeObject(value, JsonSetting);
             lststr.Add(strValue);
         }
         if (lststr.Count > 0)
         {
             redis.AddRangeToList(listId, lststr);
         }
         if (expireTime != null && expireTime.Value > DateTime.Now)
         {
             redis.ExpireEntryAt(listId, expireTime.Value);
         }
     }
 }
        public override bool AddExpire(string key, int nTimeMinute = 10)
        {
            var isfalse = false;

            try
            {
                if (string.IsNullOrEmpty(key))
                {
                    return(isfalse);
                }

                InitCache();
                //isfalse = redis.ExpireEntryIn(key, TimeSpan.FromMinutes(nTimeMinute));
                isfalse = redis.ExpireEntryAt(key, DateTime.Now.AddMinutes(nTimeMinute));
            }
            catch (Exception ex)
            {
            }
            finally { this.Dispose(); }
            return(isfalse);
        }
    /// <summary>
    /// 璁剧疆杩囨湡鏃堕棿
    /// </summary>
    /// <param name="key"></param>
    /// <param name="seconds"></param>
    /// <param name="poolType"></param>
    /// <returns></returns>
    public static bool Expire(string key, int seconds, RedisPoolType poolType)
    {
        bool success = false;

        PooledRedisClientManager pool  = GetRedisPool(poolType);
        IRedisClient             redis = pool.GetReadOnlyClient();

        try
        {
            success = redis.ExpireEntryAt(key, DateTime.Now.AddSeconds(seconds));
        }
        catch { throw; }
        finally
        {
            if (redis != null)
            {
                redis.Dispose();
            }
        }

        return(success);
    }
Exemple #24
0
        public void Refresh(double timeout)
        {
            ExpiresAt = DateTime.UtcNow.AddMinutes(timeout);

            if (redisClient != null)
            {
                var keys = redisClient.SearchKeys(SearchKeyString());
                if (keys != null & keys.Count > 0)
                {
                    if (timeout >= 0)
                    {
                        foreach (var s in keys)
                        {
                            redisClient.ExpireEntryAt(s, ExpiresAt);
                        }
                    }
                    else
                    {
                        redisClient.RemoveAll(keys);
                    }
                }
            }
        }
 /// <summary>
 /// 调整过期时间
 /// </summary>
 public bool Expire(DateTime expire)
 {
     return(redis.ExpireEntryAt(Key, expire));
 }
Exemple #26
0
        public static void CachePreheatingSpelling(IRedisClient redisClient, BaseOrganizeEntity organizeEntity, double score = 0)
        {
            // 读取到的数据直接强制设置到缓存里
            string id = organizeEntity.Id;
            // 2016-01-06 吉日嘎拉 网点编号不能大小写转换,否则查询就乱套了,不能改变原样
            string code           = organizeEntity.Code;
            string fullName       = organizeEntity.FullName;
            string simpleSpelling = organizeEntity.SimpleSpelling;

            string organize = id + ";" + code + ";" + fullName;

            if (organizeEntity.Enabled.HasValue && organizeEntity.Enabled.Value == 0)
            {
                // organize += " 失效";
            }
            if (organizeEntity.DeletionStateCode.HasValue && organizeEntity.DeletionStateCode.Value == 1)
            {
                // organize += " 已删除";
            }

            string key = string.Empty;

            // 01:所有网点查询的缓存数据方法
            for (int i = 2; i <= code.Length; i++)
            {
                // 2016-01-06 吉日嘎拉 这里需要小写,提高效率,提高有善度
                key = code.Substring(0, i).ToLower();
                redisClient.AddItemToSortedSet(key, organize, score);
                redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
            }
            for (int i = 1; i <= fullName.Length; i++)
            {
                key = fullName.Substring(0, i).ToLower();
                redisClient.AddItemToSortedSet(key, organize, score);
                redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
            }
            for (int i = 2; i <= simpleSpelling.Length; i++)
            {
                key = simpleSpelling.Substring(0, i);
                redisClient.AddItemToSortedSet(key, organize, score);
                redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
            }

            // 02:结算中心主键缓存数据方法
            string costCenterId = organizeEntity.CostCenterId;

            if (!string.IsNullOrEmpty(costCenterId))
            {
                for (int i = 2; i <= code.Length; i++)
                {
                    // 2016-01-06 吉日嘎拉 这里需要小写,提高效率,提高有善度
                    key = "CostCenterId:" + costCenterId + ":" + code.Substring(0, i).ToLower();;
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 1; i <= fullName.Length; i++)
                {
                    key = "CostCenterId:" + costCenterId + ":" + fullName.Substring(0, i).ToLower();;
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 2; i <= simpleSpelling.Length; i++)
                {
                    key = "CostCenterId:" + costCenterId + ":" + simpleSpelling.Substring(0, i);
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
            }

            // 10: 按一级网点缓存数据方法
            string companyId = organizeEntity.CompanyId;

            if (!string.IsNullOrEmpty(companyId))
            {
                for (int i = 0; i <= code.Length; i++)
                {
                    // 2016-01-18 吉日嘎拉 这里需要小写,提高效率,提高有善度
                    key = "CompanyId:" + companyId + ":" + code.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 1; i <= fullName.Length; i++)
                {
                    key = "CompanyId:" + companyId + ":" + fullName.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 2; i <= simpleSpelling.Length; i++)
                {
                    key = "CompanyId:" + companyId + ":" + simpleSpelling.Substring(0, i);
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
            }

            // 03:按省缓存数据方法
            string provinceId = organizeEntity.ProvinceId;

            if (!string.IsNullOrEmpty(provinceId))
            {
                for (int i = 2; i <= code.Length; i++)
                {
                    // 2016-01-06 吉日嘎拉 这里需要小写,提高效率,提高有善度
                    key = "ProvinceId:" + provinceId + ":" + code.Substring(0, i).ToLower();;
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 1; i <= fullName.Length; i++)
                {
                    key = "ProvinceId:" + provinceId + ":" + fullName.Substring(0, i).ToLower();;
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 2; i <= simpleSpelling.Length; i++)
                {
                    key = "ProvinceId:" + provinceId + ":" + simpleSpelling.Substring(0, i);
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
            }

            // 04:按市缓存数据方法
            string cityId = organizeEntity.CityId;

            if (!string.IsNullOrEmpty(cityId))
            {
                for (int i = 2; i <= code.Length; i++)
                {
                    // 2016-01-06 吉日嘎拉 这里需要小写,提高效率,提高有善度
                    key = "CityId:" + cityId + ":" + code.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 1; i <= fullName.Length; i++)
                {
                    key = "CityId:" + cityId + ":" + fullName.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 2; i <= simpleSpelling.Length; i++)
                {
                    key = "CityId:" + cityId + ":" + simpleSpelling.Substring(0, i);
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
            }

            // 05:父级主键缓存数据方法
            string parentId = organizeEntity.ParentId;

            if (!string.IsNullOrEmpty(parentId))
            {
                for (int i = 2; i <= code.Length; i++)
                {
                    // 2016-01-06 吉日嘎拉 这里需要小写,提高效率,提高有善度
                    key = "ParentId:" + parentId + ":" + code.Substring(0, i).ToLower();;
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 1; i <= fullName.Length; i++)
                {
                    key = "ParentId:" + parentId + ":" + fullName.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 2; i <= simpleSpelling.Length; i++)
                {
                    key = "ParentId:" + parentId + ":" + simpleSpelling.Substring(0, i).Trim();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
            }

            // 06:所有下属递归的方式进行快速缓存检索(START WITH CONNECT BY PRIOR) 包括自己
            string startId = organizeEntity.Id;

            while (!string.IsNullOrEmpty(startId))
            {
                for (int i = 2; i <= code.Length; i++)
                {
                    // 2016-01-06 吉日嘎拉 这里需要小写,提高效率,提高有善度
                    key = "StartId:" + startId + ":" + code.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 1; i <= fullName.Length; i++)
                {
                    key = "StartId:" + startId + ":" + fullName.Substring(0, i).ToLower();;
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 2; i <= simpleSpelling.Length; i++)
                {
                    key = "StartId:" + startId + ":" + simpleSpelling.Substring(0, i);
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                // 获取上级的上级,一直进行循环,在缓存里进行计算,提高效率
                startId = BaseOrganizeManager.GetParentIdByCache(startId);
            }

            // 07:发航空
            string sendAir = organizeEntity.SendAir.ToString();

            if (!string.IsNullOrEmpty(sendAir) && sendAir.Equals("1"))
            {
                for (int i = 2; i <= code.Length; i++)
                {
                    // 2016-01-06 吉日嘎拉 这里需要小写,提高效率,提高有善度
                    key = "SendAir:" + code.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 1; i <= fullName.Length; i++)
                {
                    key = "SendAir:" + fullName.Substring(0, i).ToLower();
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
                for (int i = 2; i <= simpleSpelling.Length; i++)
                {
                    key = "SendAir:" + simpleSpelling.Substring(0, i);
                    redisClient.AddItemToSortedSet(key, organize, score);
                    redisClient.ExpireEntryAt(key, DateTime.Now.AddDays(15));
                }
            }

            // 输出到屏幕看看运行效果如何?心里有个数
            System.Console.WriteLine(score.ToString() + " " + organize);
        }
 /// <summary>
 ///     从左侧添加值并设置过期时间
 /// </summary>
 /// <param name="key"></param>
 /// <param name="value"></param>
 /// <param name="dt"></param>
 public void LeftPush(string key, string value, DateTime dt)
 {
     RedisClient.PushItemToList(key, value);
     RedisClient.ExpireEntryAt(key, dt);
 }