Iterates the set of keys in :prop:key_prefix in :prop:_client
            @match: #str pattern to match after the :prop:key_prefix
            @count: the user specified the amount of work that should be done
                at every call in order to retrieve elements from the collection
            @cursor: the next cursor position

            -> #tuple (#int cursor position in scan, #list of full key names)

def scan(self, match="*", count=1000, cursor=0):
        """ Iterates the set of keys in :prop:key_prefix in :prop:_client
            @match: #str pattern to match after the :prop:key_prefix
            @count: the user specified the amount of work that should be done
                at every call in order to retrieve elements from the collection
            @cursor: the next cursor position

            -> #tuple (#int cursor position in scan, #list of full key names)
        """
        cursor, data = self._client.scan(
            cursor=cursor,
            match="{}:{}".format(self.key_prefix, match),
            count=count)
        return (cursor, list(map(self._decode, data)))