我正在构建一个应用程序,该应用程序需要缓存基于cookie的响应。而且我还需要使其无效。
所以,目前我有两个观点
一个用于获取缓存的响应的文件。
Other给出未缓存的响应,并且还会使视图1中的缓存无效
所以我的观点如下-
from django.utils import timezone
class UserDataCached(APIView):
permission_classes = (permissions.IsAuthenticated,)
@method_decorator(cache_page(60, key_prefix="userdata"))
@method_decorator(vary_on_cookie)
def get(self, request):
times = [timezone.now()]
return Response(times)
class UserDataUncached(APIView):
permission_classes = (permissions.IsAuthenticated,)
def get(self, request):
cache_key = get_cache_key(request, key_prefix="userdata")
print(cache_key)
if cache.has_key(cache_key):
cache.delete(cache_key)
times = [timezone.now()]
return Response(times)
这不起作用,我也尝试过维护一组键,例如
keys = set()
keys.add(learn_cache_key(request, response)
,然后在第二个视图中将键删除为
cache.delete_many(keys)
有什么办法可以实现吗?