adjusted Storage to use less memory and trigger less cache writes

As of now filters will only be collected in an array when there is no cached representation of them which preserves memory.

The cached content will only be written when no cache was found which preserves IO on each request in case the cache is already hot.