  We study the caching problem when we are allowed to match each user to one of
a subset of caches after its request is revealed. We focus on non-uniformly
popular content, specifically when the file popularities obey a Zipf
distribution. We study two extremal schemes, one focusing on coded server
transmissions while ignoring matching capabilities, and the other focusing on
adaptive matching while ignoring potential coding opportunities. We derive the
rates achieved by these schemes and characterize the regimes in which one
outperforms the other. We also compare them to information-theoretic outer
bounds, and finally propose a hybrid scheme that generalizes ideas from the two
schemes and performs at least as well as either of them in most memory regimes.
