2016-11-07 103 views
0

如果读取/写入ndb数据存储会自动缓存上下文和通过memcache,您希望在什么情况下直接调用memcache api(在数据存储上下文中) ?Google App Engine ndb memcache何时使用memcache

为了详细说明,我是否需要为特定数据存储设置读写的memcache,并直接从memcache中读取数据存储而不是数据存储?

+1

它不仅仅用于缓存数据存储... –

+0

对不起,我的意思是在数据存储的上下文中。 – yoonjesung

+0

一个例子是当你想缓存从多个实体计算出的值而不是缓存实体本身。 – marcadian

回答

0

一种情况是在您想要读取一些相关实体值的事务中,但您并不关心是否一致地访问这些特定实体(在该事务的上下文中)。

在这种情况下,从数据存储中读取将不必要地包含交易中的那些有助于数据存储争用的相关实体,并且可能会导致超出各种每笔交易限制。

读取这些相关实体的memcached值反而不包括事务本身中的实体。现在我不是100%确定这是否适用于实体的ndb memcache副本(我甚至不知道如何访问它),我使用自己的memcache副本来更新这些实体。

相关问题