職場の自転車部サイクリング大会が雨で中止になって暇なので、兄がPHPで書いたmemacheクラスをperlでリファクタリングした。 memcachedにネームスペース機能を付けると、まとめてデータ削除できたりして便利だよねーって話。 memcachedやAPCは、ネームスペースのような機能をサポートしていない。あるオブジェクトをキャッシュしようと思えば、キーに紐付けて保存することになる訳だが、このままだと、例えば、あるテーブルに対するクエリの結果をキャッシュしようとした場合に、プライマリキーを利用してキーとし、クエリの結果オブジェクトをキャッシュに保存していく、といった使い方になる。ここで問題となるのが、複数のテーブルの行をキャッシュしていった場合に、あるテーブルに対応したキャッシュだけを削除したい場合にどうするのか?という点。キーを指定して保存/取得/削除する事しか出来なければ、複数のア