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.
The cache will only be written when no cache was found which preserves IO on each request in case the cache is hot.