когда вы говорите о сохранении или восстановлении в облачном хранилище, что за хранилище вы имеете в виду? потому что есть несколько подходов:
A. Сохраните изображение / видео в формате Binary
. При таком подходе все загруженные файлы или изображения будут записаны в БД, а все запрошенные файлы будут прочитаны из БД.
B. Хранить изображение / видео как путь
При использовании этого подхода это означает, что если его локальный путь, то весь загруженный файл будет сохранен как локальный файл на сервере, где размещен код.
, если его удаленный путь затем он будет храниться в каком-либо облаке (Google Cloud Storage, AWS S3)
Также в своем вопросе вы упоминаете о redis как о кеше. Я хочу уточнить несколько вещей о Redis. В подходе A, если вы хотите уменьшить запрос, отправляемый в db, вы можете использовать redis для хранения двоичного файла часто используемого файла, поэтому при следующем запросе он будет извлечен из кэша, а не из db. В подходе B redis действительно не уменьшает «запросы, отправляемые в облачное хранилище», потому что клиент по-прежнему извлекает файл из облачного хранилища, а ваше приложение просто возвращает туда, где оно хранится. если вы хотите уменьшить количество запросов, отправляемых в облачное хранилище, то, возможно, вы ищете клиентский кеш или CDN.