@@ -573,9 +573,11 @@ def reset(self, key, value=ENOVAL):
573
573
break
574
574
return result
575
575
576
- def cache (self , name ):
576
+ def cache (self , name , timeout = 60 , disk = None , ** settings ):
577
577
"""Return Cache with given `name` in subdirectory.
578
578
579
+ If disk is none (default), uses the fanout cache disk.
580
+
579
581
>>> fanout_cache = FanoutCache()
580
582
>>> cache = fanout_cache.cache('test')
581
583
>>> cache.set('abc', 123)
@@ -588,6 +590,9 @@ def cache(self, name):
588
590
True
589
591
590
592
: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
591
596
:return: Cache with given name
592
597
593
598
"""
@@ -598,7 +603,12 @@ def cache(self, name):
598
603
except KeyError :
599
604
parts = name .split ('/' )
600
605
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
+ )
602
612
_caches [name ] = temp
603
613
return temp
604
614
@@ -626,7 +636,11 @@ def deque(self, name):
626
636
except KeyError :
627
637
parts = name .split ('/' )
628
638
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
+ )
630
644
deque = Deque .fromcache (cache )
631
645
_deques [name ] = deque
632
646
return deque
@@ -658,7 +672,11 @@ def index(self, name):
658
672
except KeyError :
659
673
parts = name .split ('/' )
660
674
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
+ )
662
680
index = Index .fromcache (cache )
663
681
_indexes [name ] = index
664
682
return index
0 commit comments