docs: def rscan(self, name_start, name_end, limit=10):
          """
          Scan and return a dict mapping key/value in the top ``limit`` keys between
          ``name_start`` and ``name_end`` in descending order
  
          .. note:: The range is (``name_start``, ``name_end``]. ``name_start``
             isn't in the range, but ``name_end`` is.
  
          :param string name_start: The upper bound(not included) of keys to be
           returned, empty string ``''`` means +inf
          :param string name_end: The lower bound(included) of keys to be
           returned, empty string ``''`` means -inf
          :param int limit: number of elements will be returned.
          :return: a dict mapping key/value in descending order
          :rtype: OrderedDict
          
          >>> ssdb.scan('set_x3', 'set_x1', 10)
          {'set_x2': 'x2', 'set_x1': 'x1'}
          >>> ssdb.scan('set_xx', 'set_x ', 3)
          {'set_x4': 'x4', 'set_x3': 'x3', 'set_x2': 'x2'}
          >>> ssdb.scan('', 'set_x ', 10)
          {'set_x4': 'x4', 'set_x3': 'x3', 'set_x2': 'x2', 'set_x1': 'x1'}
          >>> ssdb.scan('', 'set_zzzzz', 10)
          {}
          """                
          limit = get_positive_integer('limit', limit)        
          return self.execute_command('rscan', name_start, name_end, limit)