У меня есть служба REST-ful, реализованная с помощью django, и для каждого доступного доступа ressource я хотел бы кэшировать связанные данные, к которым можно было бы получить доступ.Pre cache django REST views
для экземпляра Ressource http://www.example.com/publication/1280
бы дать ответ XML:
<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>
Тогда я хотел бы предварительно кэшировать данные, связанные с RESSOURCES http://www.example.com/user/1
и http://www.example.com/author/564
.
Как и в веб-сервисе, данный ответ является своего рода структурой данных, я думаю, что лучше кэшировать весь этот ответ, чем запрос. Если мы будем кэшировать набор запросов, тогда мы теряем время при обработке шаблона каждый раз, когда мы обращаемся к ressource.
Это хороший подход? Я что-то упускаю ?
Если этот подход является правильным, тогда как я мог предварительно кэшировать представление с использованием промежуточного ПО, представленного Джанго
'django.middleware.cache.UpdateCacheMiddleware'
и
'django.middleware.cache.FetchFromCacheMiddleware'
?
Спасибо