сохранять и извлекать изображения / видео в облачном хранилище, связанном с сервером python flask - PullRequest
0 голосов
/ 31 марта 2020

это отягощало меня уже неделю. Похоже, что нигде нет простого решения, я действительно опустошен.

Я разместил свое python flask веб-приложение, и его база данных postgres успешно. Теперь мне нужно только связать его с любым облачным (не Google pls!) Сервисом, который позволил бы веб-приложению сохранять изображения и получать эти изображения по запросу. Я планирую использовать Redis для кэширования этих изображений, что значительно снизит скорость запросов, отправляемых в облачное хранилище. Пожалуйста, помогите!

1 Ответ

0 голосов
/ 01 апреля 2020

когда вы говорите о сохранении или восстановлении в облачном хранилище, что за хранилище вы имеете в виду? потому что есть несколько подходов:

A. Сохраните изображение / видео в формате Binary

. При таком подходе все загруженные файлы или изображения будут записаны в БД, а все запрошенные файлы будут прочитаны из БД.

B. Хранить изображение / видео как путь

При использовании этого подхода это означает, что если его локальный путь, то весь загруженный файл будет сохранен как локальный файл на сервере, где размещен код.

, если его удаленный путь затем он будет храниться в каком-либо облаке (Google Cloud Storage, AWS S3)

Также в своем вопросе вы упоминаете о redis как о кеше. Я хочу уточнить несколько вещей о Redis. В подходе A, если вы хотите уменьшить запрос, отправляемый в db, вы можете использовать redis для хранения двоичного файла часто используемого файла, поэтому при следующем запросе он будет извлечен из кэша, а не из db. В подходе B redis действительно не уменьшает «запросы, отправляемые в облачное хранилище», потому что клиент по-прежнему извлекает файл из облачного хранилища, а ваше приложение просто возвращает туда, где оно хранится. если вы хотите уменьшить количество запросов, отправляемых в облачное хранилище, то, возможно, вы ищете клиентский кеш или CDN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...