djblets.cache.forwarding_backend¶
A cache backend that forwards to other dynamically-configured backends.
- class ForwardingCacheBackend(cache_name='forwarded_backend', *args, **kwargs)¶
Bases:
object
Forwards requests to another cache backend.
This is used to allow for dynamic configuration of caches that can be swapped in and out. By setting this cache backend as the default backend, the consumer can easily switch between other cache backends without modifying
settings.py
and restarting the app.This by default looks for another cache backend in
settings.CACHES['forwarded_backend']
. This can be changed with theLOCATION
setting for this cache backend. All requests and attribute lookups will be forwarded there.If a consumer switches the real cache backend, it can call
reset_backend()
, and all future cache requests will go to the newly computed backend.- __init__(cache_name='forwarded_backend', *args, **kwargs)¶
- property backend¶
Return the forwarded cache backend.
- reset_backend()¶
Reset the forwarded cache backend.
This must be called after modifying
settings.CACHES['forwarded_backend']
in order for the new backend to be picked up.
- close(*args, **kwargs)¶
Close the cache backend.
- __contains__(key)¶
- __getattribute__(name)¶
Return getattr(self, name).