Example #1
0
 public long ListRightPush <T>(string key, T value, CtSharpWhen when = CtSharpWhen.Always)
 {
     if (when.Equals(CtSharpWhen.Exists))
     {
         return(database.RPushX(key, CtSharpRedisValue.SerializeRedisValue(value).Value));
     }
     return(database.RPush(key, CtSharpRedisValue.SerializeRedisValue(value).Value));
 }
Example #2
0
        public bool SortedSetAdd <T>(string key, T value, double score, CtSharpWhen when = CtSharpWhen.Always)
        {
            if (when.Equals(CtSharpWhen.Exists))
            {
                throw new NotImplementedException("ctcsredis 不支持此命令");
            }
            if (when.Equals(CtSharpWhen.NotExists))
            {
                throw new NotImplementedException("ctcsredis 不支持此命令");
            }
            Tuple <double, string> tupleValue = Tuple.Create(score, CtSharpRedisValue.SerializeRedisValue(value).Value);

            return(database.ZAdd(key, tupleValue) > 0);
        }
Example #3
0
        public bool KeyRename(string key, string newKey, CtSharpWhen when = CtSharpWhen.Always)
        {
            if (when.Equals(CtSharpWhen.NotExists))
            {
                return(database.RenameNx(key, newKey));
            }

            string result = database.Rename(key, newKey);

            if (result.Equals("ok", StringComparison.CurrentCultureIgnoreCase))
            {
                return(true);
            }
            return(false);
        }
Example #4
0
        public bool StringSet(KeyValuePair <string, CtSharpRedisValue>[] keyValues, CtSharpWhen when = CtSharpWhen.Always)
        {
            Tuple <string, string>[] redisValues = null;
            if (keyValues.IsNullOrEmptyArrary())
            {
                redisValues = Array.Empty <Tuple <string, string> >();
            }
            else
            {
                redisValues = new Tuple <string, string> [keyValues.Length];
                for (int i = 0; i < keyValues.Length; i++)
                {
                    redisValues[i] = Tuple.Create(keyValues[i].Key, keyValues[i].Value.Value);
                }
            }

            if (when.Equals(CtSharpWhen.NotExists))
            {
                return(database.MSetNx(redisValues));
            }
            string result = string.Empty;

            if (when.Equals(CtSharpWhen.Exists))
            {
                result = database.MSet(redisValues);
            }
            else
            {
                result = database.MSet(redisValues);
            }

            if (result.Equals("ok", StringComparison.CurrentCultureIgnoreCase))
            {
                return(true);
            }

            return(false);
        }
Example #5
0
        public bool StringSet <T>(string key, T value, TimeSpan?expiry = null, CtSharpWhen when = CtSharpWhen.Always)
        {
            object redisValue = CtSharpRedisValue.SerializeRedisValue(value).Value;
            string result     = string.Empty;

            if (expiry.HasValue)
            {
                if (when.Equals(CtSharpWhen.NotExists))
                {
                    bool isSet = database.SetNx(key, redisValue);
                    if (isSet)
                    {
                        database.Expire(key, expiry.Value);
                    }
                    return(isSet);
                }
                result = database.SetEx(key, (long)expiry.Value.TotalSeconds, redisValue);
                if (result.Equals("ok", StringComparison.CurrentCultureIgnoreCase))
                {
                    return(true);
                }

                return(false);
            }
            if (when.Equals(CtSharpWhen.NotExists))
            {
                return(database.SetNx(key, redisValue));
            }

            result = database.Set(key, redisValue);
            if (result.Equals("ok", StringComparison.CurrentCultureIgnoreCase))
            {
                return(true);
            }

            return(false);
        }
Example #6
0
        public long SortedSetAdd(string key, KeyValuePair <CtSharpRedisValue, double>[] scoreValues, CtSharpWhen when = CtSharpWhen.Always)
        {
            if (when.Equals(CtSharpWhen.Exists))
            {
                throw new NotImplementedException("ctcsredis 不支持此命令");
            }
            if (when.Equals(CtSharpWhen.NotExists))
            {
                throw new NotImplementedException("ctcsredis 不支持此命令");
            }
            Tuple <double, object>[] sortedSetEntries = new Tuple <double, object> [scoreValues.Length];
            if (scoreValues.IsNullOrEmptyArrary())
            {
                return(database.ZAdd(key, sortedSetEntries));
            }

            for (int i = 0; i < scoreValues.Length; i++)
            {
                sortedSetEntries[i] = Tuple.Create(scoreValues[i].Value, (object)scoreValues[i].Key.Value);
            }
            return(database.ZAdd(key, sortedSetEntries));
        }
Example #7
0
 public bool HashSet <TValue>(string key, CtSharpRedisValue field, TValue value, CtSharpWhen when = CtSharpWhen.Always)
 {
     if (when == CtSharpWhen.NotExists)
     {
         return(database.HSetNx(key, field.Value, CtSharpRedisValue.SerializeRedisValue(value).Value));
     }
     return(database.HSet(key, field.Value, CtSharpRedisValue.SerializeRedisValue(value).Value));
 }