Пример #1
0
        public void ZaddNxTest()
        {
            var key = $"{nameof(ZaddNxTest)}Key";

            string result;

            result = _client.Zadd(key, new[] { "1", "a", "2", "b", "3", "c" });
            Assert.AreEqual("3", result);

            result = _client.ZaddNx(key, new[] { "2", "c", "4", "d" });
            Assert.AreEqual("1", result);

            result = _client.ZrangeWithScores(key, 0, -1);
            Assert.AreEqual("a 1 b 2 c 3 d 4", result);
        }
Пример #2
0
        public object Execute(string[] args)
        {
            if (args.Length < 4)
            {
                throw new ArgumentException("(error) wrong number of arguments");
            }

            object result;

            var key    = args[1];
            var option = args[2];

            if (option.ToUpperInvariant() == "XX")
            {
                var values = args.Skip(3).ToArray();
                result = _client.ZaddXx(key, values);
            }
            else if (option.ToUpperInvariant() == "NX")
            {
                var values = args.Skip(3).ToArray();
                result = _client.ZaddNx(key, values);
            }
            else if (option.ToUpperInvariant() == "CH")
            {
                var values = args.Skip(3).ToArray();
                result = _client.ZaddCh(key, values);
            }
            else if (option.ToUpperInvariant() == "INCR")
            {
                var values = args.Skip(3).ToArray();
                if (values.Length != 2)
                {
                    throw new ArgumentException("(error) wrong number of arguments");
                }
                result = _client.ZaddIncr(key, values);
            }
            else
            {
                var values = args.Skip(2).ToArray();
                result = _client.Zadd(key, values);
            }

            return(result);
        }