It's a very simple implementation. It's reasonably inneficient because it
a 3-level array, but it does invalidation correctly.
This is useful for data that is loaded many times in one execution but
which may change constantly, or in servers that have no external cache
support for a quick speedup.