DBIx::Skinny::Cache
というのをつくりました。
http://github.com/nekokak/p5-dbix-skinny-cache
package Mock::Basic; use DBIx::Skinny setup => +{ dsn => 'dbi:SQLite:', username => '', password => '', connect_options => { AutoCommit => 1 }, }; use DBIx::Skinny::Mixin modules => ['Cache::Memory']; # in your script: use Mock::Basic; # set data Mock::Basic->memory_cache->param(foo => 'bar'); # get data Mock::Basic->memory_cache->param('foo'); # get bar # delete data Mock::Basic->memory_cache->delete('foo'); # get_callback Mock::Basic->memory_cache->get_callback( foo => sub { # some process..... 'return data for cache'; } );
こんな感じで使います。
Skinnyはnewしてインスタンスを生成しなくても
直接クラスからメソッド呼び出しできるので、
インスタンスからのメソッド呼び出しなのか
クラスからのメソッド呼び出しなのかを
意識することなくデータをmemoryにキャッシュさせることがこれでできるようになります。
Cache::MemoryとしているのはCache::Memcachedとかを作ってもいいかなと思ったからですね。
作りたい人いませんかね?