Return a dict mapping key/value in the top ``limit`` keys between
        ``key_start`` and ``key_end`` within hash ``name`` in ascending order

        Similiar with **Redis.HSCAN**

        .. 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 lower bound(not included) of keys to be
         returned, empty string ``''`` means -inf
        :param string key_end: The upper 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 ascending order
        :rtype: OrderedDict
        
        >>> ssdb.hscan('hash_1', 'a', 'g', 10)
        {'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E', 'f': 'F', 'g': 'G'}
        >>> ssdb.hscan('hash_2', 'key ', 'key4', 3)
        {'key1': '42', 'key2': '3.1415926', 'key3': '-1.41421'}
        >>> ssdb.hscan('hash_1', 'f', '', 10)
        {'g': 'G'}
        >>> ssdb.hscan('hash_2', 'keys', '', 10)
        {}

def hscan(self, name, key_start, key_end, limit=10):
        """
        Return a dict mapping key/value in the top ``limit`` keys between
        ``key_start`` and ``key_end`` within hash ``name`` in ascending order

        Similiar with **Redis.HSCAN**

        .. 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 lower bound(not included) of keys to be
         returned, empty string ``''`` means -inf
        :param string key_end: The upper 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 ascending order
        :rtype: OrderedDict
        
        >>> ssdb.hscan('hash_1', 'a', 'g', 10)
        {'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E', 'f': 'F', 'g': 'G'}
        >>> ssdb.hscan('hash_2', 'key ', 'key4', 3)
        {'key1': '42', 'key2': '3.1415926', 'key3': '-1.41421'}
        >>> ssdb.hscan('hash_1', 'f', '', 10)
        {'g': 'G'}
        >>> ssdb.hscan('hash_2', 'keys', '', 10)
        {}
        """                
        limit = get_positive_integer('limit', limit)        
        return self.execute_command('hscan', name, key_start, key_end, limit)