def __init__(self, cache_dir, policies, hash_algo): """ Arguments: cache_dir: directory where to place the cache. policies: cache retention policies. algo: hashing algorithm used. """ super(DiskCache, self).__init__() self.cache_dir = cache_dir self.policies = policies self.hash_algo = hash_algo self.state_file = os.path.join(cache_dir, self.STATE_FILE) # All protected methods (starting with '_') except _path should be called # with this lock locked. self._lock = threading_utils.LockWithAssert() self._lru = lru.LRUDict() # Profiling values. self._added = [] self._removed = [] self._free_disk = 0 with tools.Profiler('Setup'): with self._lock: self._load()
def __init__(self, cache_dir): if cache_dir is not None: assert isinstance(cache_dir, unicode), cache_dir assert file_path.isabs(cache_dir), cache_dir self.cache_dir = cache_dir self._lock = threading_utils.LockWithAssert() # Profiling values. self._added = [] self._used = []
def __init__(self, root_dir): """Initializes NamedCaches. |root_dir| is a directory for persistent cache storage. """ assert file_path.isabs(root_dir), root_dir self.root_dir = unicode(root_dir) self._lock = threading_utils.LockWithAssert() # LRU {cache_name -> cache_location} # It is saved to |root_dir|/state.json. self._lru = None