Implementing a custom cache
Create a custom cache object by sub-classing the BaseCache object.
Overwrite all the methods from the base class. You can also add custom bootstraping methods!
from UnleashClient .cache import BaseCache
from fcache .cache import FileCache as _Filecache
class FileCache (BaseCache ):
# This is specific for FileCache. Depending on the cache you're using, this may look different!
def __init__ (self , name : str , directory : Optional [str ] = None ):
self ._cache = _FileCache (name , app_cache_dir = directory )
def set (self , key : str , value : Any ):
self ._cache [key ] = value
self ._cache .sync ()
def mset (self , data : dict ):
self ._cache .update (data )
self ._cache .sync ()
def get (self , key : str , default : Optional [Any ] = None ):
return self ._cache .get (key , default )
def exists (self , key : str ):
return key in self ._cache
def destroy (self ):
return self ._cache .delete ()
Initialize your custom cache object and pass it into Unleash using the cache argument.