То, что вы хотите сделать, это что-то вроде:
Клиент <-> Прокси-кеш (например, Squid) <-> REST интерфейс <-> memcached <-> Доменная модель
Если вы в полной мере используете кеширование HTTP, вам может не понадобиться слой memcached. Аннулирование кэша - неприятная проблема, и в HTTP уже есть множество правил и механизмов, которые помогут вам оставаться в здравом уме. Я не очень знаком с memcached, но быстрый гугл на эту тему, кажется, указывает на то, что вам нужно развернуть свою собственную стратегию аннулирования кэша. HTTP имеет дополнительное преимущество, заключающееся в возможности кэшировать данные и на стороне клиента.
Если у вас есть сценарии, в которых клиенту необходимо обновить несколько объектов домена одновременно, вам необходимо создать ресурсы в интерфейсе REST, которые представляют виртуальные «составные» объекты. Клиент должен воспринимать только то, что он обновляет один ресурс. За кулисами вы можете обновить несколько ресурсов в транзакции базы данных, если хотите.
REST-системы легче создавать, если вы сопоставите свои ресурсы с PresentationModels . Ошибка, которую совершает большинство людей, заключается в том, что они пытаются строго сопоставить ресурсы REST с объектами домена. Может быть тесная корреляция, но это не будет прямым отображением, если у вас нет действительно скучного приложения!