Memcache не является альтернативным решением, поскольку вам необходимо управлять избыточностью и TTL на распределенных серверах, что усложняет обслуживание.
Лучшее решение, на мой взгляд, заключается в размещении общедоступных статических данных в CDN, которые распределены по структуре, и частных статических данных в БД для облегчения распределения по нескольким серверам.
Каждый сервер может реализовать свой собственный Memcache при каждом попадании.
Если вы уже сохранили данные в файловой системе и хотите перенести их в базу данных, самый простой способ - создать таблицу ключей и значений из следующего:
KEY = '/ image / filename' (строка расположения файловой системы), value = BLOB (фактический файл) и создайте оболочку, которая будет получать это из базы данных с помощью правила перезаписи и обработки приложения. Таким образом, вы можете использовать полную прозрачность с существующим кодом.