TL; DR; Delete method handler and cache manually
from django.core.cache import cache
from django.utils.encoding import force_bytes, force_text, iri_to_uri
import hashlib
def dispatch(self, *arg, **kwargs):
if self.request.method == 'GET' or self.request.method == 'HEAD':
key = hashlib.md5(force_bytes(iri_to_uri(self.request.build_absolute_uri()))))
data = cache.get(key)
if not data:
data = super(ProfileLikeHistoryApi, self).dispatch(*arg, **kwargs)
cache.set(key, data, 60*60*24)
return data
return super(ProfileLikeHistoryApi, self).dispatch(*arg, **kwargs)
cache_page
, , - , . " . , .
-, GET HEAD ( ), .
md5
, , . , , . , django _ generate_cache_key, .
, , . . , 23 59 .
cron, , 6 .
, , memcached, , redis db, .