'Parameters
cachedir: string or None
The path of the base directory to use as a data store
or None. If None is given, no caching is done and
the Memory object is completely transparent.
mmap_mode: {None, \'r+\', \'r\', \'w+\', \'c\'}, optional
The memmapping mode used when loading from cache
numpy arrays. See numpy.load for the meaning of the
arguments.
compress: boolean, or integer
Whether to zip the stored data on disk. If an integer is
given, it should be between 1 and 9, and sets the amount
of compression. Note that compressed arrays cannot be
read by memmapping.
verbose: int, optional
Verbosity flag, controls the debug messages that are issued
as functions are evaluated.
bytes_limit: int, optional
Limit in bytes of the size of the cache'

def __init__(self, cachedir, mmap_mode=None, compress=False, verbose=1, bytes_limit=None):

    Logger.__init__(self)
    self._verbose = verbose
    self.mmap_mode = mmap_mode
    self.timestamp = time.time()
    self.compress = compress
    self.bytes_limit = bytes_limit
    if (compress and (mmap_mode is not None)):
        warnings.warn('Compressed    results    cannot    be    memmapped', stacklevel=2)
    if (cachedir is None):
        self.cachedir = None
    else:
        self.cachedir = os.path.join(cachedir, 'joblib')
        mkdirp(self.cachedir)
