Ну, это ОЧЕНЬ сложный вопрос. На карту поставлено много переменных.
Много ли запросов на эти данные (когда я много говорю, я имею в виду больше, чем один или два в секунду)? Memcache получил бы очко, если бы это было так ...
Являются ли ваши диски высокопроизводительными (SCSI или SAS, RAID 0 или 10)? Если это так, файлы МОГУТ получить очко.
У вас много оперативной памяти? Если это так, ОС может кэшировать больше файловых данных, поэтому для файла потребуется меньшая активность диска.
У вас есть много предопределенных сообщений? Если это так, индекс Memcache может иметь значение ...
Ваш сервер Memcache ТОЛЬКО на локальном хосте? В противном случае Memcache потеряет балл за задержку в сети.
Суть в следующем. Если вы не выполняете TON поисков (много в секунду), любой из них будет таким же быстрым (в пределах разумного, от 10 до 20 мс). Лично, если вы не выполняете более 10 поисков по электронной почте в секунду, используйте метод file. Его проще обслуживать (вам не нужно беспокоиться об обновлении Memcache, если он нуждается в перезапуске), и его будет легче отлаживать. Помни: будь проще ...