Memcached使ってみました。単純な例で動作を確認後、python-blog-systemの画像出力部分に適用し、ベンチマークをとりました。
Memcachedとは
分散KVS(キーバリューシステム)の一種です。いわゆるRDB(リレーショナルデータベース)は、スケールアウトに向かない構造をしているために、安いサーバをいっぱい並べても性能がリニアに向上しません。Memcachedでは、トランザクションや、データの耐久性などを保証しないかわりに、大量のデータを、高速にキャッシュすることができます。詳しい説明は本家でどうぞ⇒http://memcached.org/ 概要が知りたければwikipediaがお手軽です。
シンプルな例
まずは、非常にシンプルなコードを書いて動作を確認しました。
- 初回アクセス: 何も表示されません。
キーweatherに対して何も設定されておらず、Noneが返されるため、何も表示されません。 - 2回目以降: snowingと表示されます。
初回アクセス時に、キーweatherに”snowing”が設定さたので、snowingと表示されます。
ソースコード
読み出し⇒書き込みという順序になっているので、初回アクセス時は何も表示されませんが、3600秒以内に再アクセスするとsnowingと表示されます。