django-elephant is a simple wrapper to cache responses of Django methods or functions
pip install django-elephant
from elephant import memorize
@memorize()
def foo(bar):
return bar
from django.core.cache import caches
from elephant import memorize
other_cache = caches['other_cache']
@memorize(
cache=other_cache
)
def foo(bar):
return bar
from elephant import memorize
@memorize(
timeout=1987
)
def foo(bar):
return bar
from elephant import memorize
def my_custom_key(function, *args, **kwargs):
return '{}.{}'.format(
'elephant_'
function.__name__
)
@memorize(
cache_key=my_custom_key
)
def foo(bar):
return bar
- Django>=1.5
- Fork and make a pull request!