#python #caching
#python #кэширование
Вопрос:
Для генерации статистики я выполняю несколько запросов 100 XMLRPC к стороннему API.
Поскольку я хочу, чтобы статистика вычислялась быстро, чтобы иметь возможность играть с ней, я хочу кэшировать ответы из API.
Выдержка из HTTP-заголовков API:
Content-Type: application/xml; charset=utf-8
Connection: keep-alive
ETag: "c539d317b07c640c123e287304d2c568"
P3P: CP="NOI DSP COR NID ADMa OPTa OUR NOR"
Content-Length: 4089
Cache-Control: private, max-age=0, must-revalidate
Мне нужно:
- решение для python 2.6
- поскольку ответы API довольно большие, кэш должен быть записан на диск (без кэширования в памяти)
- Я хочу, чтобы срок действия ответов api истек, например, через 1 день
- старые ответы на диске должны быть удалены, чтобы не иметь бесконечно растущего кэша
Я близок к тому, чтобы написать что-то свое, поскольку это не кажется слишком сложным, но я подумал, что это может быть довольно распространенным вариантом использования, так что, возможно, что-то уже существует.
Ответ №1:
Что ж, поскольку никто не придумал хорошего существующего модуля, я написал его сам.
Не особенно красиво, но, я думаю, оно выполняет свою работу. Обратная связь очень приветствуется