開発開始...?
sandboxプロジェクトとして申請が通ったので s2caching プロジェクトをぼちぼちコミット開始。
s2cachingって何って話はとりあえず省略、というか後日記述。要するに宣言的キャッシュで、あまり効率も考えず愚直に毎回(読み出ししかされない)マスタに問い合わせするようなコードが書いてあって、データベース周りがボトルネックになったときに、コイツを使うと後付けでキャッシュすることが出来ますよ、というもの。
AOP型(他の実装例を見つけられていないだけかも)の宣言的キャッシュとしては、なんかこのへんが関係ありそう(Spring版)。
上記ページからはOSCacheだけがdistributed cacheに出来る〜みたいに読めるのだけど、実際にはehCacheもdistributed cacheをサポートしている。いずれも未テストだが、個人的には当初の目論見/現在の実装サンプルと変わりなく、ehCacheを使おうと思っている。
注目しているのは、キャッシュのキーが OSCacheではString だが ehCacheでは Serializable であること。キーをStringに限定されると、場合によっては文字列表現で一意性を確保する必要が出てくるんでキャッシュを必要とする人がいろいろ考えないといけない。今回のケースでは S2Cachingがそこを受け持つことになるので、ずばり面倒くさい。
とりあえずehCacheの最新版で軽く動作検証してから説明文とか書いていこう。