Return a list of the top ``limit`` keys after ``key_start`` from zset
        ``name`` with scores between ``score_start`` and ``score_end`` 

        .. note:: The range is (``key_start``+``score_start``, ``key_end``]. That
           means (key.score == score_start && key > key_start || key.score >
           score_start)

        :param string name: the zset 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 list of keys
        :rtype: list

        >>> ssdb.zkeys('zset_1', '', 0, 200, 10)
        ['g', 'd', 'b', 'a', 'e', 'c']
        >>> ssdb.zkeys('zset_1', '', 0, 200, 3)
        ['g', 'd', 'b']
        >>> ssdb.zkeys('zset_1', 'b', 20, 200, 3)
        ['a', 'e', 'c']
        >>> ssdb.zkeys('zset_1', 'c', 100, 200, 3)
        []

def zkeys(self, name, key_start, score_start, score_end, limit=10):
        """
        Return a list of the top ``limit`` keys after ``key_start`` from zset
        ``name`` with scores between ``score_start`` and ``score_end`` 

        .. note:: The range is (``key_start``+``score_start``, ``key_end``]. That
           means (key.score == score_start && key > key_start || key.score >
           score_start)

        :param string name: the zset 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 list of keys
        :rtype: list

        >>> ssdb.zkeys('zset_1', '', 0, 200, 10)
        ['g', 'd', 'b', 'a', 'e', 'c']
        >>> ssdb.zkeys('zset_1', '', 0, 200, 3)
        ['g', 'd', 'b']
        >>> ssdb.zkeys('zset_1', 'b', 20, 200, 3)
        ['a', 'e', 'c']
        >>> ssdb.zkeys('zset_1', 'c', 100, 200, 3)
        []
        """                
        score_start = get_integer_or_emptystring('score_start', score_start)
        score_end = get_integer_or_emptystring('score_end', score_end)        
        limit = get_positive_integer('limit', limit)
        return self.execute_command('zkeys', name, key_start, score_start,
                                    score_end, limit)