在逻辑视图的角度来看,它是app的“一个”(和一致的)memcached服务器吗?

时间:2013-01-10 16:32:51

标签: google-app-engine memcached

这是关于GAE背后的问题。

好吧,这可能是一个愚蠢的问题,但我想知道谷歌如何支持地理分布式数据中心以及在这种情况下memcached中使用的策略。

在逻辑视图透视图中,它是一个“一个”(并且一致)的memcached服务器由app?让我解释一下:使用memcached的最常见案例之一是“页面视图计数”示例。好吧,如果memcached是分布式/复制的(也就是说,密钥:值将在n + 1台机器中分发和复制),我无法保证一致的值(或类似的东西),因为计数值将除以的n + 1。

分布式/复制的memcached可能导致麻烦的另一种情况:我会使用一些未更新的实体值。 例如: 步骤1. req webserver1 + memcached1(在memcached1中执行一些查询和缓存entity1) 步骤2. req webserver2 + memcached2(更新entity1并在memcached2中使其无效) 步骤3. req webserver1 + memcached1(从memcached1获取entity1,但它是旧数据,因为它在数据存储区中更新,在memcached2中无效,但在memcached1中无效!!)

1 个答案:

答案 0 :(得分:1)

在您的应用程序的所有实例之间共享单个内存缓存。

将值放入或获取值无关紧要,它们共享相同的存储空间。

所以是的,它是应用程序。