I wouldn&#x27;t call that a cache. It&#x27;s certainly <i>computed state</i>, of the kind that can be thrown away and recomputed ala Crash-Only programming, but in my experience a &quot;cache&quot; is supposed to be transparent: to decorate an file&#x2F;device&#x2F;socket&#x2F;RPC service&#x2F;object&#x2F;whatever and expose the same semantics as that whatever, but more performantly. Your indexed set doesn&#x27;t expose the same semantics as the data file it was constructed from.