appengine ja night 16 BT Frontend cache control
-
Upload
bluerabbit777jp -
Category
Technology
-
view
2.671 -
download
0
description
Transcript of appengine ja night 16 BT Frontend cache control
appengine ja night#16Beer Talk
Front Front Front Front EndのEndのEndのEndのCache ControlCache ControlCache ControlCache Controlでででで
CPUCPUCPUCPU使用量を減らす使用量を減らす使用量を減らす使用量を減らす
source: http://www.flickr.com/photos/katemonkey/122489910/
�� TwitterTwitter�� @bluerabbit777jp@bluerabbit777jp
�� はてなはてな
�� あおうさ@日記あおうさ@日記
�� http://d.http://d.hatenahatena..nene..jpjp//bluerabbitbluerabbit//
�� 仕事はSI系仕事はSI系
�� java, ASP.Netjava, ASP.Netがが多い多い
自己紹介自己紹介自己紹介自己紹介
devsumi2011
LT大会2011大会2011大会2011大会2011
ベストベストベストベストバリューバリューバリューバリュー賞賞賞賞
表彰状表彰状表彰状表彰状
さいきん作ったの
�� インストールするだけで地震の際にどこで、インストールするだけで地震の際にどこで、震度いくつの地震があったのかを通知震度いくつの地震があったのかを通知
earthquake Notify (緊急地震速報)
nanapiで紹介されたで紹介されたで紹介されたで紹介された
インストール数インストール数インストール数インストール数1万を万を万を万を
超えた辺りから超えた辺りから超えた辺りから超えた辺りから
課金が一日課金が一日課金が一日課金が一日7ドル超え・・・ドル超え・・・ドル超え・・・ドル超え・・・
課金が一日課金が一日課金が一日課金が一日7ドル超え・・・ドル超え・・・ドル超え・・・ドル超え・・・
��11ドルドル8080円円
��11日日77ドルはドルは560560円円
��560560円×円×3030日=日=16,80016,800円円円円円円円円
CPU Timeでででで6.53ドルドルドルドル
Cache Control使えばいいのに・・使えばいいのに・・使えばいいのに・・使えばいいのに・・
Cache Controlでででで0円に円に円に円に
earthquake Notifyの仕組みの仕組みの仕組みの仕組み
�� ChromeChrome拡張から定期的に拡張から定期的にajaxajax通信して通信してサーバに地震がないかチェックするサーバに地震がないかチェックする
�� 地震があったら通知地震があったら通知
earthquake Notifyの仕組みの仕組みの仕組みの仕組み
�� サーバは最新の地震情報をサーバは最新の地震情報を11レコードレコードだけ保持し、だけ保持し、JSONJSONをを返す返す
Key key =Key key = DatastoreDatastore..createKeycreateKey(Quake.class, 1);(Quake.class, 1);
Quake entity =Quake entity = DatastoreDatastore.get(Quake.class,.get(Quake.class, key);key);
String String jsonjson == QuakeMetaQuakeMeta.get()..get().modelToJsonmodelToJson(entity);(entity);
response.response.getWritergetWriter().write(().write(jsonjson););
課金が一日課金が一日課金が一日課金が一日7ドル超え・・・ドル超え・・・ドル超え・・・ドル超え・・・
��11ドルドル8080円円
��11日日77ドルはドルは560560円円
��560560円×円×3030日=日=16,80016,800円円円円円円円円
App Engine Stack
App Engine Stack
App Engine Stack
App Engine Stack
App Engine Stack
App Engine Stack
App Engine Stack
App Engine Stack
App Engine Stack
earthquake Notifyの仕組みの仕組みの仕組みの仕組み�� サーバは最新の地震情報をサーバは最新の地震情報を11レコードだけ保レコードだけ保
持し、持し、JSONJSONをを返す返す
�� Front EndFront Endにに11秒キャッシュさせる秒キャッシュさせる
Key key =Key key = DatastoreDatastore..createKeycreateKey(Quake.class, 1);(Quake.class, 1);
Quake entity =Quake entity = DatastoreDatastore.get(Quake.class,.get(Quake.class, key);key);
response.response.setHeadersetHeader("Cache("Cache--Control", Control",
"public, max"public, max--age=1");age=1");
String String jsonjson == QuakeMetaQuakeMeta.get()..get().modelToJsonmodelToJson(entity);(entity);
response.response.getWritergetWriter().write(().write(jsonjson););
App Engine Stack
App Engine Stack
App Engine Stack
まとめ
まとめまとめまとめまとめまとめまとめまとめまとめ
�� 工夫すれば課金は抑えられる工夫すれば課金は抑えられる
�� Front EndFront Endののキャッシュは有効な場合が多キャッシュは有効な場合が多い。利用できないかまず検討い。利用できないかまず検討�� 例)ニュースサイトの例)ニュースサイトのTopTopページページ
�� 画像の配信 画像の配信
�� RSSRSS配信配信
�� TwitterTwitterは強い見方は強い見方�� 有識者がアドバイスをくれる有識者がアドバイスをくれる
�� @@pomupomu03250325さんさん に感謝!に感謝!
�� ハッシュタグはハッシュタグは ##appengine appengine からから ##gaeja gaeja にに