  Optimal caching of files in a content distribution network (CDN) is a problem
of fundamental and growing commercial interest. Although many different caching
algorithms are in use today, the fundamental performance limits of network
caching algorithms from an online learning point-of-view remain poorly
understood to date. In this paper, we resolve this question in the following
two settings: (1) a single user connected to a single cache, and (2) a set of
users and a set of caches interconnected through a bipartite network. Recently,
an online gradient-based coded caching policy was shown to enjoy sub-linear
regret. However, due to the lack of known regret lower bounds, the question of
the optimality of the proposed policy was left open. In this paper, we settle
this question by deriving tight non-asymptotic regret lower bounds in both of
the above settings. In addition to that, we propose a new
Follow-the-Perturbed-Leader-based uncoded caching policy with near-optimal
regret. Technically, the lower-bounds are obtained by relating the online
caching problem to the classic probabilistic paradigm of balls-into-bins. Our
proofs make extensive use of a new result on the expected load in the most
populated half of the bins, which might also be of independent interest. We
evaluate the performance of the caching policies by experimenting with the
popular MovieLens dataset and conclude the paper with design recommendations
and a list of open problems.
