1

アプリケーションのさまざまな場所で頻繁に読み取られ、それほど頻繁に更新されないいくつかの appengine エンティティがあります。

アプリのデータストア読み取り回数を減らすために memcache を使用したいのですが、どこでもコードを更新したくありません。

エンティティの get() メソッドをオーバーライドして、データストアの読み取りを行う前に memcache に格納されているかどうかを確認し、put() を使用してこの memcache エントリを削除する適切な方法があるかどうか疑問に思っていました。

誰かがそのための良い解決策を持っていますか?

4

1 に答える 1

2

NDB を使用していない場合は、NDB を使用してください。データストアとやり取りする方法だけで、データは変更されません。NDB エンティティは自動的にキャッシュされるため、キーによるリクエストは最初に memcache で検索され、エンティティが見つからない場合はデータストアが検索されます。

いずれにせよ、NDB は新しい標準であるため、後ではなく今すぐ切り替えることをお勧めします。

于 2013-08-29T20:11:55.257 に答える