Skip to content

Commit f3fcdff

Browse files
committed
Update Cache(...) params when allocating
1 parent c177446 commit f3fcdff

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

diskcache/fanout.py

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -573,9 +573,11 @@ def reset(self, key, value=ENOVAL):
573573
break
574574
return result
575575

576-
def cache(self, name):
576+
def cache(self, name, timeout=60, disk=None, **settings):
577577
"""Return Cache with given `name` in subdirectory.
578578
579+
If disk is none (default), uses the fanout cache disk.
580+
579581
>>> fanout_cache = FanoutCache()
580582
>>> cache = fanout_cache.cache('test')
581583
>>> cache.set('abc', 123)
@@ -588,6 +590,9 @@ def cache(self, name):
588590
True
589591
590592
:param str name: subdirectory name for Cache
593+
:param float timeout: SQLite connection timeout
594+
:param disk: Disk type or subclass for serialization
595+
:param settings: any of DEFAULT_SETTINGS
591596
:return: Cache with given name
592597
593598
"""
@@ -598,7 +603,12 @@ def cache(self, name):
598603
except KeyError:
599604
parts = name.split('/')
600605
directory = op.join(self._directory, 'cache', *parts)
601-
temp = Cache(directory=directory, disk=self._disk)
606+
temp = Cache(
607+
directory=directory,
608+
timeout=timeout,
609+
disk=self._disk if disk is None else Disk,
610+
**settings,
611+
)
602612
_caches[name] = temp
603613
return temp
604614

@@ -626,7 +636,11 @@ def deque(self, name):
626636
except KeyError:
627637
parts = name.split('/')
628638
directory = op.join(self._directory, 'deque', *parts)
629-
cache = Cache(directory=directory, disk=self._disk)
639+
cache = Cache(
640+
directory=directory,
641+
disk=self._disk,
642+
eviction_policy='none',
643+
)
630644
deque = Deque.fromcache(cache)
631645
_deques[name] = deque
632646
return deque
@@ -658,7 +672,11 @@ def index(self, name):
658672
except KeyError:
659673
parts = name.split('/')
660674
directory = op.join(self._directory, 'index', *parts)
661-
cache = Cache(directory=directory, disk=self._disk)
675+
cache = Cache(
676+
directory=directory,
677+
disk=self._disk,
678+
eviction_policy='none',
679+
)
662680
index = Index.fromcache(cache)
663681
_indexes[name] = index
664682
return index

0 commit comments

Comments
 (0)