2

私の App Engine (Java) アプリケーションは、多くのアイテムを頻繁に更新する必要があるデータ構造で動作する予定です。データの量は (クライアントごとに) 1000 レコードを超える予定はありませんが、クライアントの量は無制限であるため、カウンターを更新するためだけに毎秒 1000 回の読み取りと 1000 回の書き込みを行うつもりはありません。

もちろんMemcacheの活用も考えています。理想的には、頻繁に読み込んで更新できるように、データは常にメモリ内にある必要があります。キャッシュがいっぱいであるか、VM がシャットダウンされている場合 (私の最大の懸念事項) にのみ、データ ストレージに書き込む必要があります。必要な場合にのみキャッシュがストレージに書き込まれる、ある種のライトバック戦略を実装できますか?

特に私の2つの質問は次のとおりです。

  1. アイテムがキャッシュから削除されたことを知るにはどうすればよいですか?
  2. キャッシュの内容を保持できるように、VM がいつシャットダウンされるかを知るにはどうすればよいですか?
4

1 に答える 1

2

簡単な答え: いいえ。

より長い答え: Memcache は保証を提供しません。

役に立つ答え: https://developers.google.com/appengine/articles/scaling/memcache#transientを見てください。データが失われる可能性がある場合は、memcache を利用できます (ただし、一部のデータが失われる場合もあります)。

ただし、VM がシャットダウンされることを心配する必要はありません。Memcache はインスタンス VM の外部で実行され、すべてのアプリ インスタンス VM 間で共有されます。

于 2013-06-19T20:04:14.607 に答える