Exemplo n.º 1
0
        /// <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);
 }
Exemplo n.º 4
0
 public async Task AddAsync(SortedMember <T> member, string[] tags)
 {
     await AddAsync(member.Score, member.Value, tags).ForAwait();
 }