【发布时间】:2011-12-24 17:14:11
【问题描述】:
我有一个非常基本的问题:在 GAE 中,如果我使用 memcache 来存储第一次从数据库中检索到的数据,如果该数据在缓存中保留 2 天左右,则执行说应用程序可以“看到”它并从缓存中检索它?还是每个应用程序实例的缓存是分开的?
我之所以问这个问题是因为我已经看到,由于 GAE 为应用程序需要的每个新实例生成单独的 VM 进程(而不是线程)的方式,这些东西过去在所有实例中都是一致的(在线程模型中) ) 现在按实例(进程)进行分段:就像不在同一应用程序的所有实例之间传播的 servelet 应用程序上下文一样。
那么,memcache 是在同一应用程序的多个实例中保持一致,还是为每个实例/进程创建缓存数据集?
【问题讨论】:
-
只有在单台机器上运行时,数据才能在多个线程中保持一致 - 如果要扩展,在不同机器上拥有多个实例是不可避免的。
标签: google-app-engine memcached instances