1. A method, comprising: recording observations of data accesses from a cache; dynamically building a prediction model to predict future access patterns based on the recorded observations of data accesses, wherein the prediction model dynamically builds a dictionary of pattern prefixes based on the recorded observations of data accesses; analyzing observations of current data accesses from the cache to predict future access patterns by performing a partial pattern match using the dictionary of pattern prefixes, wherein the partial pattern match predicts one or more suffixes representing the predicted future access patterns; and evicting data from the cache based on the predicted future access patterns.