やや大袈裟な名前ですが「memcachedにおけるキャッシュシステムの Thundering Herd 問題への対策案」とか「キャッシュシステムの Thundering Herd 問題への対策案。その2 排他制御」で書いていたコードをモジュールにした github: https://github.com/kazeburo/Cache-Isolator 機能としては、平行動作数を制御できるget_or_setと、一定の確率で少し早く有効期限が切れるキャッシュの保存、取得、削除あたりがあげられます 使い方ですが、まず、get_or_setの例。 my $isolator = Cache::Isolator->new( cache => Cache::Memcached::Fast->new(...), concurrency => 4, # get_or_setのcallbackの最大平行動作