私の App Engine (Java) アプリケーションは、多くのアイテムを頻繁に更新する必要があるデータ構造で動作する予定です。データの量は (クライアントごとに) 1000 レコードを超える予定はありませんが、クライアントの量は無制限であるため、カウンターを更新するためだけに毎秒 1000 回の読み取りと 1000 回の書き込みを行うつもりはありません。
もちろんMemcacheの活用も考えています。理想的には、頻繁に読み込んで更新できるように、データは常にメモリ内にある必要があります。キャッシュがいっぱいであるか、VM がシャットダウンされている場合 (私の最大の懸念事項) にのみ、データ ストレージに書き込む必要があります。必要な場合にのみキャッシュがストレージに書き込まれる、ある種のライトバック戦略を実装できますか?
特に私の2つの質問は次のとおりです。
- アイテムがキャッシュから削除されたことを知るにはどうすればよいですか?
- キャッシュの内容を保持できるように、VM がいつシャットダウンされるかを知るにはどうすればよいですか?