Nick93
@Nick93

Файловое кеширование, как реализовать?

Python только начал изучать, решил парсер написать в качестве примера, возникла проблема что, мне нужно как-то записывать фотографии пользователей и в дальнейшем сверять их с id, как это можно закешировать, иначе слишком много запросов к api получается?
  • Вопрос задан
  • 2351 просмотр
Решения вопроса 1
DAVIDhaker
@DAVIDhaker
Сначала загружаешь данные скриптом к себе в хранилище, а потом, при работе программы - делаешь запросы в хранилище, если в хранилище есть такие данные - возвращаются данные из хранилища, если нет - данные загружаются в хранилище, потом возвращаются из хранилища.

Хранилище - любая примитивная система кеширования.

import urllib2 as ul, os

def storage(dataid):
    if not os.path.exists("./cache/"+dataid+".tmp"):
        open("./cache/"+dataid, "wb").write(ul.urlopen("http://mysite.com/images/"+dataid+".jpeg"))
    
    return open("./cache/"+dataid+".tmp").read()


В случае, если данные есть в кеше, то просто функция достанет их из кеша, иначе скачает с интернетов, положит в кэш, потом вернет сохраненные данные.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы