GAE: memcache: одинакова ли она для нескольких экземпляров приложения

У меня есть довольно простой вопрос: в GAE, если я использую memcache для хранения некоторых данных после их первого извлечения из базы данных, если затем эти данные остаются в кеше примерно 2 дня, получают ли ВСЕ экземпляры указанного приложения? «увидеть» его и извлечь из кеша? Или кеш отдельный для каждого экземпляра приложения?

Я спрашиваю об этом, потому что видел, что из-за того, что GAE порождает отдельные процессы VM (не потоки) для каждого нового экземпляра, необходимого приложению, вещи, которые раньше были согласованными во всех экземплярах (в модели потоков), теперь фрагментирован для каждого экземпляра (процесса): как контекст приложения сервлета, который НЕ распространяется на все экземпляры одного и того же приложения.

Итак, опять же, является ли memcache согласованным для нескольких экземпляров одного и того же приложения, или он создает наборы кэшированных данных для каждого экземпляра/процесса?


person Shivan Dragon    schedule 08.11.2011    source источник
comment
Данные согласуются между несколькими потоками только в том случае, если вы работаете на одной машине — наличие нескольких экземпляров на разных машинах неизбежно, если вы хотите масштабироваться.   -  person Nick Johnson    schedule 09.11.2011


Ответы (1)


Это последовательно; Кэш памяти GAE работает как служба отдельно от ваших экземпляров.

person Peter S Magnusson    schedule 08.11.2011