> So our solution was caching in-process with just a hash, and using a > DBI/mysql persistent store. > in pseudo code > sub get_stuff { > if (! $cache{$whatever} ) { > if !( $cache{whatever} = dbi_lookup()) { > $cache{$whatever}=derive_data_from_original_source($whatever); > dbi_save($cache_whatever); > } > } > $cache{$whatever} > }
That's actually a bit different. That would fail to notice updates between processes until the in-memory cache was cleared. Still very useful for read-only data or data that can be out of sync for some period though. > The filesystem based / time sensitive aging is a nice little thing we should > put up in CPAN. We've just not done so yet. How does it differ from the other solutions like Cache::FileCache? Is it something you could add to an existing module? - Perrin