code: def hrscan(self, name, key_start, key_end, limit=10):
          
          limit = get_positive_integer('limit', limit)        
          return self.execute_command('hrscan', name, key_start, key_end, limit)
docs: Return a dict mapping key/value in the top ``limit`` keys between
          ``key_start`` and ``key_end`` within hash ``name`` in descending order
  
          .. note:: The range is (``key_start``, ``key_end``]. The ``key_start``
             isn't in the range, but ``key_end`` is.
  
          :param string name: the hash name
          :param string key_start: The upper bound(not included) of keys to be
           returned, empty string ``''`` means +inf
          :param string key_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.hrscan('hash_1', 'g', 'a', 10)
          {'f': 'F', 'e': 'E', 'd': 'D', 'c': 'C', 'b': 'B', 'a': 'A'}
          >>> ssdb.hrscan('hash_2', 'key7', 'key1', 3)
          {'key6': 'log', 'key5': 'e', 'key4': '256'}
          >>> ssdb.hrscan('hash_1', 'c', '', 10)
          {'b': 'B', 'a': 'A'}
          >>> ssdb.hscan('hash_2', 'keys', '', 10)
          {}