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); }
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)); }
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)); }
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); }
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); }
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); }