Я использую RDS (Удаленная база данных), S3 (Удаленное хранилище) и экземпляр EC2.
Когда бы ни выбирали аватары пользователей, чтобы определить, есть ли у участника аватар или нет, мое приложение выполняет:
Используя ListObject, определите, существует папка аватара или нет, и, если существует, получите изображение аватара. (Невозможно использовать запрос Head, поскольку имя файла (ключа) состоит из случайного числа.
VS
Я хотел бы изменить способ извлечения аватара с использованием RDS (дБ). Всякий раз, когда пользователь загружает аватар, имя файла сохраняется в БД, и Я могу определить после запроса к БД, существует ли изображение аватара или нет, и, если существует, получить изображение аватара от S3.
Таким образом, разница между двумя способами заключается в запросе к S3 с использованием Listobeject vs запросы в RDS независимо от того, существует ли пользовательский аватар или нет.
Какой способ лучше с точки зрения производительности и стоимости?
Я точно не знаю ListObject, однако думаю, что он может использовать file_exist, опендир, р eaddir, closedir для перечисления объектов, поэтому лучше обращаться к БД. Я не уверен, хотя.
Любые советы приветствуются. Спасибо. Хорошего вам! :)