def __init__(self, max_items, default_freshness_period = _hour,<EOL>default_expiration_period = <NUM_LIT:12>*_hour, default_purge_period = <NUM_LIT>*_hour):
self.default_freshness_period = default_freshness_period<EOL>self.default_expiration_period = default_expiration_period<EOL>self.default_purge_period = default_purge_period<EOL>self.max_items = max_items<EOL>self._caches = {}<EOL>self._lock = threading.RLock()<EOL>
Initialize a `Cache` object.

            :Parameters:
                - `default_freshness_period`: default freshness period (in seconds).
                - `default_expiration_period`: default expiration period (in seconds).
                - `default_purge_period`: default purge period (in seconds). When
                  0 then items are never purged because of their age.
                - `max_items`: maximum number of items to store.
            :Types:
                - `default_freshness_period`: number
                - `default_expiration_period`: number
                - `default_purge_period`: number
                - `max_items`: number