/// <summary> /// 计算给定的numkeys个有序集合的并集,并且把结果放到destination中 /// 使用WEIGHTS选项,你可以为每个给定的有序集指定一个乘法因子,意思就是,每个给定有序集的所有成员的score值在传递给聚合函数之前都要先乘以该因子。如果WEIGHTS没有给定,默认就是1 ///默认使用的参数SUM,可以将所有集合中某个成员的score值之和作为结果集中该成员的score值。如果使用参数MIN或者MAX,结果集就是所有集合中元素最小或最大的元素。 /// </summary> /// <param name="destinationKey"></param> /// <param name="keys"></param> /// <param name="weights"></param> /// <param name="aggregate"></param> /// <returns></returns> public long SortedSetCombineAndStoreUnion(string destinationKey, string[] keys, double[] weights, CtSharpRedisAggregate aggregate = CtSharpRedisAggregate.Sum) { if (Enum.IsDefined(typeof(CtSharpRedisAggregate), aggregate) || aggregate.Equals(CtSharpRedisAggregate.Sum)) { return(database.ZUnionStore(destinationKey, weights, RedisAggregate.Sum, keys)); } if (aggregate.Equals(CtSharpRedisAggregate.Min)) { return(database.ZUnionStore(destinationKey, weights, RedisAggregate.Min, keys)); } return(database.ZUnionStore(destinationKey, weights, RedisAggregate.Max, keys)); }
/// <summary> /// 计算给定的numkeys个有序集合的并集,并且把结果放到destination中 /// </summary> /// <param name="destinationKey"></param> /// <param name="firstKey"></param> /// <param name="secondKey"></param> /// <param name="aggregate"></param> /// <returns></returns> public long SortedSetCombineAndStoreUnion(string destinationKey, string firstKey, string secondKey, CtSharpRedisAggregate aggregate = CtSharpRedisAggregate.Sum) { if (Enum.IsDefined(typeof(CtSharpRedisAggregate), aggregate) || aggregate.Equals(CtSharpRedisAggregate.Sum)) { return(database.ZUnionStore(destinationKey, null, RedisAggregate.Sum, firstKey, secondKey)); } if (aggregate.Equals(CtSharpRedisAggregate.Min)) { return(database.ZUnionStore(destinationKey, null, RedisAggregate.Min, firstKey, secondKey)); } return(database.ZUnionStore(destinationKey, null, RedisAggregate.Max, firstKey, secondKey)); }