Ich habe einen REST-ful-Service mit Django implementiert und für jede Ressource, auf die zugegriffen wird, möchte ich verwandte Daten zwischenspeichern, auf die wahrscheinlich zugegriffen wird.Pre-Cache-Django-REST-Ansichten
Zum Beispiel der Ressource http://www.example.com/publication/1280
würde die XML-Antwort geben:
<publication xmlns="http://www.example.com" xmlns:atom="http://www.w3.org/2005/atom">
<abstract>None</abstract>
<owner>
<atom:link rel="owner" type="application/xml" href="http://www.example.com/user/1">ckpuser</atom:link>
</owner>
<authors>
<author>
<atom:link rel="author" type="application/xml" href="http://www.example.com/author/564">P. Almquist</atom:link>
</author>
</authors>
<comments></comments>
<tags></tags>
<keywords></keywords>
<referencematerials></referencematerials>
<peerreviews></peerreviews>
<fields>
<howpublished>RFC 1349 (Proposed Standard)</howpublished>
<url>http://www.ietf.org/rfc/rfc1349.txt</url>
</fields>
</publication>
Dann würde Ich mag Cache-Daten mit den Ressourcen http://www.example.com/user/1
und http://www.example.com/author/564
assoziiert vor.
Wie im Web-Service ist die Antwort eine Art Datenstruktur, ich denke, es ist besser, diese gesamte Antwort als das Queryset zu cachen. Wenn wir das Abfrage-Set zwischenspeichern würden, würden wir jedes Mal, wenn wir auf die Ressource zugreifen, Zeit im Template-Rendering verlieren.
Ist es ein guter Ansatz? Fehle ich etwas?
Wenn dieser Ansatz richtig ist, dann, wie könnte ich eine Ansicht mit der Middleware von django
'django.middleware.cache.UpdateCacheMiddleware'
und
'django.middleware.cache.FetchFromCacheMiddleware'
bereitgestellt Pre-Cache?
Danke