/// <summary> /// Adds the specified member with the specified score to the sorted set stored at key. /// If key does not exist, a new sorted set with the specified member as sole member is created, like if the sorted set was empty. /// </summary> /// <param name="member">The sorted member to add.</param> /// <param name="when">Indicates when this operation should be performed.</param> public async Task AddAsync(SortedMember <T> member, When when = When.Always) { var db = GetRedisDb(); if (when == When.Always) { await db.SortedSetAddAsync(RedisKey, Serialize(member.Value), member.Score).ForAwait(); } else { await db.ScriptEvaluateAsync(LuaScriptResource.Zadd, new RedisKey[] { RedisKey }, new RedisValue[] { when == When.Exists ? "XX" : "NX", member.Score, Serialize(member.Value) }).ForAwait(); } }
/// <summary> /// Adds the specified member with the specified score to the sorted set stored at key. /// If key does not exist, a new sorted set with the specified member as sole member is created, like if the sorted set was empty. /// </summary> /// <param name="member">The sorted member to add.</param> /// <param name="when">Indicates when this operation should be performed.</param> public void Add(SortedMember <T> member, When when = When.Always) { var db = GetRedisDb(); if (when == When.Always) { db.SortedSetAdd(RedisKey, Serialize(member.Value), member.Score); } else { db.ScriptEvaluate(LuaScriptResource.Zadd, new RedisKey[] { RedisKey }, new RedisValue[] { when == When.Exists ? "XX" : "NX", member.Score, Serialize(member.Value) }); } }
public void Add(SortedMember <T> member, string[] tags) { Add(member.Score, member.Value, tags); }
public async Task AddAsync(SortedMember <T> member, string[] tags) { await AddAsync(member.Score, member.Value, tags).ForAwait(); }