Y U NO USE your cache like that:
$data = $cache->get('key',function() {
// do the stuff if cache misses
return $some_value_to_be_cached;
});
? It's quite handy and it forces you to separate actual logic to get the value, which is good by itself.