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); }
/// <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); }
/// <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); } }
/// <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); }
public void AddRangeToSet(string setId, IList <string> items) { _redisClient.AddRangeToSet(setId, new List <string>(items)); }