GoogleAppEngineでは、memcacheを使って地球を守ろう!
昨日アップしたImageAPIのサンプルにmemcacheAPIを追加してみた。
mattn氏のブログを参考にさせていただきました。
http://mattn.kaoriya.net/software/lang/python/20080529202100.htm
キャッシュへの登録とレンダリング
cache_time = 60 memcache.set('index_page', res_html, cache_time) self.response.out.write(res_html)
(cache_timeの単位は不明)
データがアップデートした際にキャッシュをクリアする。
memcache.flush_all()
- memcacheAPI有り
- memcacheAPI無し
Version2の方から、認証をつけました。ログ等はいっさい取ってないです。
しかし、イメージの数だけしかクエリーが発行されない為分かりにくいです。
分かりにくいっていうか、有りと無しではほとんど差がないです。効いてるのか不安になりますが、キャッシュのアップデートをやめると表示が更新されなくなるので効いていると思われます。
追記:
FireBugでの時間計ってみました。(本来であればサーバー側で時間を計るべき)
Ver.1(キャッシュ無し)700msー1s
Ver.2(キャッシュ有り)500msー800ms
と言う結果でした。傾向として、キャッシュ無しだとイメージのDL開始が一つづつずれて居るのに対して、キャッシュがある場合には同時にDLしているように見えました。
使うのとっても簡単なので、使わないとCPU一杯使って熱を出すことに繋がります。地球温暖化対策の為にも積極的にキャッシュを使いましょう!