Как правило, вы должны думать, что доступ к данным кэша (опять же) - доступ к данным, и это ответственность, которую должны обрабатывать ваши объекты доступа к данным (или модели, или как вы хотите их называть).
Потому что, если нет, что ты собираешься делать? предоставлять доступ к memcached из представления вообще не имеет смысла, а контроллеры? контроллеры должны позаботиться об управлении информацией формы и т. д., поскольку контроллер не должен обращаться к базе данных, он также не должен обращаться к memcached.
Наконец, если вы управляете своей memcached на моделях / daos, у вас есть ЕДИНСТВЕННАЯ точка записи / чтения в / из memcached, так что вы можете с уверенностью знать, что информация из кэша всегда отражает информацию из базы данных. Также это будет полностью прозрачно для разработчика (особенно полезно для средних и больших команд). Кроме того, имея централизованное (опять же, модель / дао) место для доступа к memcached, вы избежите, чтобы разные ключи хранили одно и то же значение, поэтому вы сэкономите память и сможете кешировать больше информации.