The overhead between a serialized object versus an array is only 55 bytes, 79 bytes if the table name is not stored.

I think having one cache entry will become a burden to applications with a reasonable amount of tables. In some applications I worked having 50+, 100+ or even 200+ I rarely needed to get data from 10+ tables per request. Without something to warm the cache it would be pretty bad, IMO.

Maybe we can give the choice to the user by creating a [special cache engine](https://gist.github.com/renan/8132446) for that which only does one network call per request but still allows us to use Cache::read() and Cache::write() internally for individual tables.