def METHOD_NAME(self, parameters):
    """Retrieve all items from the cache based on the parameters supplied."""
    query = Query(self.retrieve_sql or '''
        SELECT *
        FROM %s
        ''' % self.tables[0])
    if parameters:
        for k, v in parameters.items():
            where = self.retrieve_by.get(k, '`%s`.`%s` = ?' % (self.tables[0], k))
            query.add_where(where, where.count('?') * [v])
    # group by
    # FIXME: find a nice way to turn group_by and group_columns into names
    results = query.execute(self.con)
    group_by = list(self.group_by + self.group_columns)
    for column in self.group_columns[::-1]:
        group_by.pop()
        results = regroup(results, group_by, column)
    # strip the mtime from the results
    return (list(x)[:-1] for x in results)