Quick Start¶
config¶
Install
cache extension
by pip:pip install django-cache-extension
For redis backend use cache like this:
config your cache file backend to cache_extension: CACHES={ "default": { 'BACKEND': 'cache_extension.backends.redis.ExtensionRedisBackend', 'LOCATION': 'redis://redis:6379/0', 'TIMEOUT': '172800', "KEY_PREFIX": "cache_extension", 'OPTIONS': { "DB": 0, "CLIENT_CLASS": "django_redis.client.DefaultClient", 'PARSER_CLASS': 'redis.connection.HiredisParser', 'PICKLE_VERSION': 2, } } },
methods¶
-
get_model
(model, pk=None, cache_exc=False, **kwargs)¶ Return django model in cache, query database when cache miss hit, raise Model.DoesNotExist when miss database.
Set cache_exc=True where cache model.DoesNotExist in cache, and return None.
-
get_model_list
(model, **kwargs)¶ Get multiple models with filter on fields, return a list of models.
-
clear_model
(model, *args)¶ clear model cache on args, usually use id.
-
clear_model_list
(model, *agrs)¶ Clear model cache using field name.
-
clear_model_cache
(model, *agrs, **kwargs)¶ Call clear_model or clear_model_list dynamically according to params passed.