1. A method comprising: generating, at a computer system and in response to receiving a specified query from a client, a first read request for obtaining a result of the specified query from a storage system; extracting, from a plurality of candidate queries and at the computer system, a plurality of features of the candidate queries, wherein the features are characteristics of a query; correlating the features of each of the candidate queries to identify a usage pattern of the features, the correlating including: identifying a specified feature of the features based on a derived value of the specified feature, the derived value being derived from an actual value of the specified feature, the actual value and the specified feature specified in one or more of the candidate queries; predicting, based on the usage pattern of the features, a set of queries to be received at the computer system in the future; executing a query of the set of queries to obtain data corresponding to the query from the storage system, the data including time series data, wherein the data is stored at a first granularity level in the storage system, wherein executing the query includes: generating a second read request to obtain the data corresponding to the query, combining the first read request and the second read request to generate a combined read request, and executing the combined read request at the storage system to obtain the result of the specified query and the data corresponding to the query; determining, based on the predicting, a second granularity level at which the data is to be cached, the second granularity level being different from the first granularity level; processing the data from the first granularity level to the second granularity level to generate processed data; and updating a cache of the computer system with the processed data, the updating to be performed before any of the set of queries is received at the computer system.