private string PonerTodosLosAmigosEnUnConjunto(IRedisClient client, User currentUser)
        {
            var claveFriends = string.Format("friends:{0}", currentUser.UserId);

            client.AddRangeToSet(claveFriends, currentUser.Friends.Select(f => f.UserId).ToList());
            return(claveFriends);
        }
Exemple #2
0
 /// <summary>
 /// key集合中添加list集合
 /// </summary>
 public void Add(string key, List <string> list)
 {
     using (IRedisClient Core = CreateRedisClient())
     {
         Core.AddRangeToSet(key, list);
     }
 }
        public string CreateSetMessage(string key, IEnumerable <String> usernames)
        {
            //koristimo da pamtimo koji korisnici nisi dobili obavestenje
            string setKey = key + ":" + SubPostfix;

            //foreach (string i in usernames)
            //    _redis.AddItemToSet(setKey, i);
            _redis.AddRangeToSet(setKey, usernames.ToList());
            TimeSpan timeSpan = new TimeSpan(0, 0, ttl);

            _redis.ExpireEntryIn(setKey, timeSpan);
            return(setKey);
        }
Exemple #4
0
        /// <summary>
        /// 复制Redis正式库数据至测试库
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="dict"></param>
        /// <param name="keys"></param>
        /// <param name="dataType"></param>
        public static void BackupDataToRedis(Context ctx, Dictionary <string, string> dict, IEnumerable <string> keys, SynchroDataType dataType, SynchroDirection direction)
        {
            long backupRedisId = 0;

            try
            {
                Dictionary <string, string> redisKey = RedisKeyUtils.GetRedisSetKey(dataType, SynchroDirection.ToK3);

                switch (direction)
                {
                case SynchroDirection.ToK3:
                    backupRedisId = 1;
                    break;

                case SynchroDirection.ToB2B:
                    backupRedisId = 2;
                    break;

                default:
                    break;
                }

                if (DataBaseConst.CurrentRedisServerIp.CompareTo(DataBaseConst.HKRedisIP) == 0)
                {
                    RedisManager manager = new RedisManager(ctx);
                    Thread       subTh   = new Thread(new ThreadStart(() =>
                    {
                        using (IRedisClient redis = manager.GetClientTest(ctx, backupRedisId))
                        {
                            if (redis != null)
                            {
                                if (dict != null && dict.Count > 0)
                                {
                                    redis.SetAll(dict);

                                    if (keys != null && keys.Count() > 0)
                                    {
                                        if (!string.IsNullOrWhiteSpace(redisKey["unreadKey"]) && !string.IsNullOrWhiteSpace(redis["allKey"]))
                                        {
                                            if (GetItems(keys) != null && GetItems(keys).Count > 0)
                                            {
                                                redis.AddRangeToSet(redisKey["unreadKey"], GetItems(keys));
                                                redis.AddRangeToSet(redis["allKey"], GetItems(keys));
                                            }
                                        }
                                    }
                                }

                                redis.Dispose();
                            }
                        }
                    }

                                                                      ));
                    subTh.IsBackground = true;
                    subTh.Start();
                }
            }
            catch (Exception ex)
            {
                LogUtils.WriteSynchroLog(ctx, SynchroDataType.Redis, ex.Message + System.Environment.NewLine + ex.StackTrace);
            }
        }
Exemple #5
0
 /// <summary>
 /// 添加一个对象到一个集合
 /// </summary>
 /// <param name="SetId"></param>
 /// <param name="value"></param>
 public static void AddItemToSet(string SetId, List <string> value)
 {
     Redisclient.AddRangeToSet(SetId, value);
 }
 /// <summary>
 ///     添加多个值到set中
 /// </summary>
 /// <param name="key"></param>
 /// <param name="values"></param>
 public void AddRangeToSet(string key, List <string> values)
 {
     RedisClient.AddRangeToSet(key, values);
 }
Exemple #7
0
 public void AddRangeToSet(string setId, IList <string> items)
 {
     _redisClient.AddRangeToSet(setId, new List <string>(items));
 }