Ответ 1
Как вы задаете два вопроса, позвольте мне также ответить на них один за другим:
Общий вопрос: каков стандартный подход к хранению файлов, когда нет постоянной файловой системы?
Если содержимое файла не подходит для обычного хранилища баз данных, но вы действительно хотите сохранить этот файл (например, изображения, двоичные файлы и т.д.) настойчиво, Amazon S3 и аналогичные службы обычно являются вашим путем. Существуют также бесплатные альтернативы, доступные как Riak, Aerospike или более тяжелый Cassandra.
Хотя все эти услуги бесплатны (или доступны бесплатные версии), они потребуют установки и текущего обслуживания. Кроме того, вы вряд ли достигнете того же уровня доступности и масштабируемости, что и размещенные облачные сервисы, такие как S3. Если вы учтете это, экономия за счет использования облачного сервиса, такого как S3, по крайней мере сомнительна. Но, как всегда, YMMV.
И для моего конкретного случая: есть ли какое-либо решение с использованием Python и/или MySQL, которое просто и быстро реализовать? Является ли это обязательным для Редиса?
Ваш вопрос немного противоречив. Вы упомянули, что ваше приложение генерирует временные файлы, но вы не хотите их потерять?
Если ваши файлы являются временными, такое решение, как Redis или memcached будет идеально подходящим для работы, если у вас есть понимание того, что оба являются кешами, и данные будут потеряны при перезагрузке или (если будут включены снимки Redis), по крайней мере, не гарантируют, что записи сохраняются на диске.
Если вы не хотите расширять свой стек, а Redis не дает вам уровней гарантий, которые вы ищете, MySQL поддерживает хранение blobs, который может использоваться для хранения файлов (двоичных данных) в MySQL. Это, как правило, не очень хорошо масштабируется, но опять же, решение о том, приемлемо для вас, зависит от вашей ситуации. (См. Также этот отличный ответ относительно pro и con для хранения файлов в MySQL.)