0

毎日真夜中に cron ジョブを実行し、そのデータを使用して次の 24 時間の HTML テンプレートを作成する Web アプリがあります。過去の値を保存することは気にせず、最新のものを表示するだけです。

これを念頭に置いて、cron ジョブが完了した後に値をキャッシュするだけで、DB (GAE データストア) をクエリするのではなく、GET 要求のために 1 日を通して memcached から値を取得するだけで問題が発生しますか?

PythonとGAEを使用しています。

ありがとうございました。

4

2 に答える 2

3

Memcached データは永続的ではありません。アプリはそれに依存してはなりません。速度を上げるためにそこから取得しても問題ありませんが、キャッシュはいつでも削除される可能性があるため、データが存在しない場合のバックアップとして永続的なストレージが必要です。

memcacheのドキュメントでは、次のように説明されています。

ただし、値を memcache だけに保存​​し、他の永続ストレージにバックアップしないかどうかを検討する場合は、値が突然利用できなくなった場合に、アプリケーションが適切に動作することを確認してください。値はいつでも memcache から失効する可能性があり、値に設定された有効期限の前に失効する可能性があります。たとえば、ユーザーのセッション データが突然失われてセッションが誤動作する場合、そのデータはおそらく memcache に加えてデータストアに保存する必要があります。

于 2013-05-23T08:59:12.027 に答える
0

キャッシュを使用する理由があるとすれば、それは、DB へのアクセスがリソースを消費し、リクエストが増加するにつれて応答時間が実際に低下するためだと思います。キャッシュは一時的なストアですが、オブジェクトがオブジェクトの 2 つのコピーを持つ「レプリケート キャッシュ」のような複数のキャッシュ トポロジを利用できるキャッシュ ソフトウェアが存在するため、DB トリップを作成する必要がなくなります。 memcached に関する上記の引用から、それは利用可能なオプションではないことがわかります。NCache を使用してみてください。または、詳細を読むことができます: http://www.alachisoft.com/ncache/

于 2013-05-23T10:19:52.647 に答える