public RedisValue Sort(string key, string by, bool alpha, bool descending, int? start, int? count)
        {
            var transformedKey = TransformKey(key);

            var sb = new SortBuilder(transformedKey)
                .Alpha(alpha)
                .Desc(descending);

            if (!String.IsNullOrEmpty(by))
                sb.By(by);
            
            if (start.HasValue && count.HasValue)
                sb.Limit(start.Value, count.Value);


            var command = new SortCommand(sb);
            return ExecValue(key, command);
        }
 public RedisValue Sort(SortBuilder sb)
 {
     // todo: clone first
     if (!String.IsNullOrEmpty(sb.ResultKey))
     {
         sb.StoreTo(TransformKey(sb.ResultKey));
     }
     if (!String.IsNullOrEmpty(sb.Key))
     {
         sb.Key = TransformKey(sb.Key);
     }
     // TODO: need to transform patterns as well
     return ExecValue(sb.Key, new SortCommand(sb));
 }
示例#3
0
 public SortCommand(SortBuilder builder)
 {
     if (builder == null)
         throw new ArgumentNullException("builder");
     this.SetParameters(builder.GetSortParameters());
 }