Scaling Rails Episode #5 - Advanced Page Caching
Page Cacheのもう少し詳しい話
Pagination
- will_paginateでページネートしてるときpage cacheしてるとページリンクを押しても遷移しない
- http://127.0.0.1:3000/posts?page=2のようなクエリストリングをページキャッシュでは扱えないから
- クエリストリングなしのページがキャッシュされてしまう
- Cached page: /posts.html (0.9ms)
- pageパラメータがURLにのっかるようにroutes.rbを修正する
- map.posts_with_pages '/posts/page/:page', :controller => 'posts', :action => 'index'のように
- そんでこういうURLでページングできて
- こういう感じでページキャッシュされる
- Cached page: /posts/page/2.html
Dynamic Data
- Dynamic Dataをキャッシュするといろいろ困ったことが起こる
- ログイン状態とか
- ログインしていない状態でページキャッシュされてたらログイン後にログイン前のキャッシュページが表示されてしまう
- ajax callbackで更新することはできるはできるが・・JavaScriptが動かない環境だと大混乱
- ログイン状態とかはキャッシュすんな