Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 在DRF中缓存响应_Django_Caching_Django Rest Framework_Etag - Fatal编程技术网

Django 在DRF中缓存响应

Django 在DRF中缓存响应,django,caching,django-rest-framework,etag,Django,Caching,Django Rest Framework,Etag,我有一个RESTAPI,一些端点需要花费大量时间来生成响应,因此我想添加一些响应缓存和etag支持。我已经研究了Django中的条件响应实现,以及DRF扩展包中的响应缓存和条件响应。我遇到的问题是,我的数据在一侧非常频繁地更改,但也存在严重的隔离,因此,如果用户A调用端点X的响应发生变化,那么用户B、C和D调用同一端点时可能不会发生任何变化。由于我的数据经常更改,如果我使每次更改的所有响应无效,我将永远不会访问缓存。所讨论的端点都会生成JSON对象列表,因此问题是如何仅使包含已更改对象的缓存响应

我有一个RESTAPI,一些端点需要花费大量时间来生成响应,因此我想添加一些响应缓存和etag支持。我已经研究了Django中的条件响应实现,以及DRF扩展包中的响应缓存和条件响应。我遇到的问题是,我的数据在一侧非常频繁地更改,但也存在严重的隔离,因此,如果用户A调用端点X的响应发生变化,那么用户B、C和D调用同一端点时可能不会发生任何变化。由于我的数据经常更改,如果我使每次更改的所有响应无效,我将永远不会访问缓存。所讨论的端点都会生成JSON对象列表,因此问题是如何仅使包含已更改对象的缓存响应无效,而不是使所有响应无效