Memcache - это просто хранилище памяти. Он может работать на нескольких машинах. Нет причины, по которой два совершенно разных процесса не могут общаться друг с другом через него.
Позвольте мне уточнить. Вы можете запустить memcache на одном или нескольких серверах. Вы можете настроить своих клиентов для общения с определенным набором экземпляров. Вы можете запустить два (или более) разных процесса memcache на одном хосте (прослушивая разные IP-адреса и / или порты), и они полностью независимы.
Если ваши два приложения общаются с одним и тем же экземпляром (ами), то нет никаких причин, по которым они не могут общаться.
Сложность возникает, если вы говорите с несколькими экземплярами и разбиваете свои данные (то есть разделяете их на разные экземпляры), тогда ваши клиенты должны знать, в какой экземпляр получать или помещать данные. Если вы используете одну и ту же клиентскую библиотеку (например, оба ваших клиента PHP5), то это не драма. Если они не совпадают, то вам нужно как-то решить эту проблему.
Другая проблема, если вы используете разные технологии, это то, что вам нужно подумать о формате обмена, так как пользовательская сериализация в PHP не будет так читаема в Java или C #. Типичные варианты: XML или даже JSON.