2012-04-07 1 views
3

こんにちは、私はmemcachedのが私のHerokuのアプリでちゃんとうまく設定持っているRailsの3/Herokuの/ Memcachedの - ミス/ミス、ストア/新鮮

。しかし、私はそれが正しく設定されているかどうか疑問に思ういくつかの奇妙な動作があります。

私のアプリでページを訪問すると(caches_pageで設定されています)、私はミスしてしまい、その後ミスしてしまい、その後新鮮になってしまいます。私は最初のヒットがミス/ストアする必要があるように感じる...

これは私の言いたいことです。最初の訪問:

2012-04-07T21:07:11+00:00 app[web.1]: Started GET "/help" for xx.xx.xx.xx at 2012-04-07 21:07:11 +0000 
2012-04-07T21:07:11+00:00 app[web.1]: cache: [GET /help] miss 

第二の訪問:

2012-04-07T21:07:16+00:00 app[web.1]: cache: [GET /help] miss, store 

第三の訪問:

2012-04-07T21:07:19+00:00 app[web.1]: cache: [GET /help] fresh 

私はこれが実際に問題になるのかはわからない、または私は私の陽気に取り掛かる必要がある場合方法。ありがとう!

+0

レールエキスパートではありませんが、リクエストに応じて送信するHTTPヘッダーを確認する必要があります。 3つの要求の間でそれらが異なる場合、これはなぜ最初のミスが「ミス、ストア」ではないのかという手がかりになる可能性があります。 –

+0

私が知る限り、Herokuは実際にはページキャッシュをサポートしていません。 expires_inヘッダーでRack :: Cacheを使用するか、アクションキャッシュを使用する必要があります。ミス、ミス/ストア、新鮮なものは無関係かもしれません。 – hurshagrawal

答えて

0

キャッシングと何か関係がありますが、最初に行うことは常にレスポンスヘッダーを調べることです(これにはブラウザのツールを使用できます)。

私の推測では、レールキャッシュのためのセットクッキーヘッダーが返されているため、ラックキャッシュはレスポンスをキャッシュ不可能なものとして処理しています。セッションがすでに存在するため、後続のリクエストはset-cookieを返しません。 3番目の要求は以前にキャッシュされたコンテンツにヒットします。