It is unclear whether archives in an index can change without the index crc or revision changing, so always create new indexes for each cache. This is much simplier with not much more overhead.
Also no longer store archive contents in memory and instead read it from storage on demand.