Помимо проблем, связанных с состоянием гонки, о которых вы упоминали, вы задаете ряд других проблем.
Прежде всего, у кеша без политики времени жизни кеша есть имя - мы называем кеши, которые растут без ограничений и никогда не выпускают свои данные, как «утечки памяти». У них есть способ поставить серверы на колени. Подумайте о том, как вы узнаете, когда ваш кеш становится слишком большим, и пора его выбросить.
Во-вторых, кэши хуже, чем бесполезны, если они лжецы. Ваш кэш утверждает, что он ускоряет работу с файловой системой, но какой именно механизм вы предлагаете для обеспечения согласованности кеша и файловой системы? Предположим, пользователь получает доступ к файлу, информация кэшируется, а затем какая-то другая операция удаляет этот файл. Теперь кэш не синхронизирован с тем, что предполагается абстрагировать; это звучит как потенциальный источник ошибок. В следующий раз, когда кто-нибудь получит доступ к этому файлу, кеш скажет, что он существует, хотя его больше нет.
Это, конечно, решаемые проблемы; вопрос не в том, являются ли они разрешимыми, а в том, окупятся ли затраты на их решение за счет увеличения производительности, которую вы получаете.
Или вы можете игнорировать эти проблемы и надеяться на лучшее. Например, если вы считаете, что затраты на утечку памяти или несогласованность кэша - это затраты на ведение бизнеса, за которые платит увеличение производительности. Если это так, то было бы разумно преднамеренно принять решение о выборе хрупкого недорогого решения, а не делать это случайно, и удивляться позже, когда что-то сломалось.