Зависит от типа кэширования, которого вы хотите достичь.
Кэширование на самом сервере приложений может быть интересным, если у вас сложная структура объектов в памяти, для восстановления которой требуются данные, загруженные из базы данных. В этом конкретном случае вы можете кэшировать результат вычислений. Если структура большая, будет быстрее использовать локальный кеш, чем общий memcache.
Если согласованное значение между оперативной памятью и базой данных имеет первостепенное значение, вы можете выполнить некоторую проверку контрольной суммы / временной метки с сохраненным значением в хранилище данных каждый раз, когда используете кэшированное значение. Хранение контрольной суммы / отметки времени на небольшом объекте или в глобальном кэше ускорит процесс.
Одна большая проблема, связанная с использованием глобального кэша памяти, - это обеспечение правильной синхронизации при его «повторном заполнении», когда значение еще не присутствует или было сброшено. Если у вас есть несколько серверов, выполняющих проверку в одно и то же время и пополняющих значение в кеше, вы можете в конечном итоге иметь несколько отдельных серверов, выполняющих пополнение одновременно. Если операция является то же самое, это не проблема; если нет, то это потенциальная и очень сложная ошибка.