docs: def iterbyscore(self, min='-inf', max='+inf', start=None, num=None,
                      withscores=False, reverse=None):
          """ Return a range of values from the sorted set name with scores
              between @min and @max.
  
              If @start and @num are specified, then return a slice
              of the range.
  
              @min: #int minimum score, or #str '-inf'
              @max: #int minimum score, or #str '+inf'
              @start: #int starting range position
              @num: #int number of members to fetch
              @withscores: #bool indicates to return the scores along with the
                  members, as a list of |(member, score)| pairs
              @reverse: #bool indicating whether to sort the results descendingly
  
              -> yields members or |(member, score)| #tuple pairs
          """
          reverse = reverse if reverse is not None else self.reversed
          zfunc = self._client.zrangebyscore if not reverse \
              else self._client.zrevrangebyscore
          _loads = self._loads
          for member in zfunc(
             self.key_prefix, min=min, max=max, start=start, num=num,
             withscores=withscores, score_cast_func=self.cast):
              if withscores:
                  yield (_loads(member[0]), self.cast(member[1]))
              else:
                  yield _loads(member)