Моя программа pygtk - это редактор документов на основе XML, которые ссылаются на другие документы, возможно, в Интернете, которые, в свою очередь, могут ссылаться на другие документы.
Когда я загружаю файл, ссылки разрешаются и документы загружаются (уже асинхронно). Однако этот процесс повторяется каждый раз, когда я запускаю редактор, поэтому я хочу, чтобы некоторое локальное кэширование сохраняло пропускную способность и время как для пользователя, так и для сервера, на котором размещены ссылочные документы.
Есть ли типичные способы, которыми это делается? Моя идея до сих пор будет:
- Получить путь к каталогу кэша каким-либо образом (не зависит от платформы)
- Поместите туда файл с именем
md5(url)
.
- Если файл кэша уже существует и он не старше
$cache_policy_age
, возьмите его, в противном случае используйте HTTP (может urllib
сделать это?), Чтобы проверить, был ли он изменен с момента загрузки.