2016-11-07 16 views
0

ndbデータストアへの読み書きは、コンテキスト内とmemcacheの両方で自動的にキャッシュされますが、memcache APIを直接(データストアのコンテキストで)呼び出す場合は、 ?Google App Engine ndb memcacheいつmemcacheを使用するか

具体的には、特定のデータストアの読み書き用にmemcacheを設定し、データストアではなくmemcacheから直接読み込む必要がありますか?

+1

そのデータストアをキャッシュするだけではなく... –

+0

申し訳ありませんが、私はデータストアのコンテキストで意味しました。 – yoonjesung

+0

エンティティ自体をキャッシュする代わりに、複数のエンティティから計算された値をキャッシュする場合の例があります。 – marcadian

答えて

0

関連するエンティティ値を読み取るが、それらの特定のエンティティに(トランザクションのコンテキストで)一貫してアクセスすることは気にしません。

このような場合、データストアから読み取ると、データストア競合の原因となる関連エンティティがトランザクションに不必要に含まれ、さまざまなトランザクションごとの制限を超える可能性があります。

これらの関連エンティティのmemcached値を読み取るのではなく、トランザクション自体にエンティティを含めません。今、エンティティのndbのmemcacheのコピー(それにアクセスする方法がわかりません)に当てはまる場合、私は100%確実ではありません。これらのエンティティを変更するたびに、そのエンティティの独自のmemcacheコピーを使用しました。

関連する問題