1. A method comprising: monitoring, by a storage controller computing apparatus, a hit or miss rate for each of a plurality of prior workloads and a latency of each of a plurality of cache storage resources over consecutive and partially overlapping period of times; determining, by the storage controller computing apparatus, a configuration for the plurality of cache storage resources for one or more current workloads based at least on a service level objective for each of the one or more current workloads, the monitored hit or miss rate for each of the plurality of prior workloads for a most recently closed one of the periods of time, and the monitored latency of each of the plurality of cache storage resources for a most recently closed one of the periods of time; and dynamically partitioning, by the storage controller computing apparatus, the plurality of cache storage resources among each of the one or more current workloads based on the determined configuration.